这是我在这里发表的第一篇文章 - 大家好
我目前正在开发一个支持css和jquery的html表单.该表格将由"没有经验的用户"使用,因此我的重点在于良好的可用性.因此,我提供了对每个输入字段的提示以及进一步的说明.为了显示我正在使用onfocus/onblur javascript事件的提示,所以一次只显示一个提示.当我只有输入字段时type="text",这很好用,但输入字段type="radio"我在谷歌浏览器中遇到麻烦.
我在jsfiddle.net上做了一个简单的例子,你可以看到我的意思.那里的代码与我在表单中使用的代码非常相似,所以我不打算在这里发布它.到目前为止,我测试的每个浏览器中都会弹出警报,但谷歌浏览器除外.我想知道为什么?它有任何已知的解决方案或解决方法吗?
当用户将焦点移离字段时,我想将JSF inputText字段设置为大写字母.最好是使用f:ajax标签执行此操作并让blur事件触发对服务器的调用来执行大写,或者最好是在JavaScript中执行此操作吗?会是什么原因,是不是在JavaScript中做到这一点?使用ajax调用服务器端总是做这些事情是最好的吗?
//假设我改变state的handleChange功能。
在onChange事件状态的情况下将更新每个字符更改。
<input
type="text"
name="name"
onChange={this.handleChange}
id="name"
/>
Run Code Online (Sandbox Code Playgroud)
如果onBlur事件状态将在离开输入字段后单次更新。
<input
type="text"
name="name"
onBlur={this.handleChange}
id="name"
/>
Run Code Online (Sandbox Code Playgroud)
哪种方法最适合更新statein React,为什么?
我有一个下拉菜单,单击一个div,显示列表.
在焦点上我应该隐藏列表(即当用户点击或关注某些其他元素而不是鼠标移出时).因此,我明显的选择是onblur.
现在JavaScript似乎在Firefox中工作,但在IE中却没有,因为我的div有一个指定高度和宽度的子div.这在测试文件中是可重现的.我正在使用jQuery.
这是Internet Explorer中的已知问题吗?什么是工作?
<html>
<head>
<title>Exploring IE</title>
<style type="text/css">
/** Exploring IE**/
.selected_option div {height:18px;}
</style>
<script type="text/javascript" src="jquery-1.3.2.min9919.js"></script>
<script type="text/javascript">
$().ready(function(){
$('.selected_option').blur(function(){
alert('blurred');
});
});
</script>
</head>
<body>
<div class="selected_option" tabindex="0">
<div>anywhere in the page</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud) 我创建了一个简单的Web表单,其中包含一个文本框和一个按钮.我已经捕获了文本框的onblur事件.
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script language="javascript" type="text/javascript">
function onTextBoxBlur()
{
alert("On blur");
return true;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" runat="server" onblur="onTextBoxBlur();"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
当我在文本框中输入一些值并单击按钮时,会出现文本框的onblur事件,但按钮的onclick却没有.并且,当我从js函数中删除警报框时,它工作正常.按钮点击事件的一些方法将丢失.我认为这是由于警报框.知道为什么会这样吗?
我已经尝试过使用onblur来解决我的问题,但这只是因为焦点从一个文本框变为另一个文本框或类似的东西.我正在为嵌入式浏览器编写一个有几个问题的网页.当浏览器被隐藏时,gif没有被隐藏,并且似乎它保留在缓存中.我的想法也许是有一种方法可以调用浏览器隐藏gif,因为焦点丢失了.在这种情况下,焦点类似于用户点击另一个窗口.这似乎超出了网络技术的范围,但我想我会问.
谢谢!
如果我打开下拉选择并选择相同的值而不单击以切换焦点,是否有办法触发事件?
我试过
onblur,但只有当我在选择之外进行额外的单击时,它才有效。
onchange,但只有当我选择不同的值时它才有效。
如果我打开下拉菜单并选择任何内容,无论它是相同还是不同,我都需要触发一个事件。
<select name='show1' id='show1' onblur='dosomething(this);'>
<option value='1'>One</option>
<option value='2'>Two</option>
</select>
Run Code Online (Sandbox Code Playgroud) 显然IE(11)存在问题relatedTarget,例如关于blur事件.IE有替代方案relatedTarget吗?
这是一个在IE中产生错误的示例:https: //jsfiddle.net/rnyqy78m/
我有一个容器 div,其中包含许多输入和复选框,我想仅在容器 div 失去焦点时触发 onBlur 事件,而不是在每次其中的任何元素失去焦点时触发 onBlur 事件
我采用了棱角分明的版本5.0.1,我试图触发一个AsyncValidator上FormGroup上的一个上一个模糊事件FormControls中FormGroup。
我可以onBlur使用以下方法处理表单控件:
name: ['', {updateOn: 'blur'}]
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试将其应用于 a 时,FormGroup它不起作用。
是否可以只AsyncValidator onBlur在 a 上触发FormGroup,如果不能,只有在用户完成输入数据时才执行验证器的最佳方法是什么?
目前我唯一的其他选择是为我的验证器提供某种去抖动包装器。
只是通读这里,看来我应该能够updateOn: 'blur'用于表单组。
在 new FormGroup(value, {updateOn: 'blur'})) 之后;new FormControl(value, {updateOn: 'blur', asyncValidators: [myValidator]})