onChange事件未在Chrome中的文本框中触发
我有以下代码绑定一些validation逻辑,当用户更新文本框的值时将触发。 我希望//Do some stuff here
代码会在任何文本框被执行时失去焦点。
function RegisterHoursValidationHandlers() { $('.topic-frame-body input[type=text]').live('change', function () { //Do some stuff here }); }
这与我在IE,Firefox和Safari中的预期完全一样。 但是,事件永远不会在Chrome中发生,我不知道为什么。
更新:通过将'change'
为'blur'
我能够获得所需的效果。 虽然这仍然无法解释为什么它不会出现'change'
。
关于铬没有已知的怪癖 。 (所有浏览器都支持更改事件)
实时显示它对抗动态内容的示例。
在这里测试一下 :
这里有一条信息或假设使这无法解决。
更新 :如果将其更改为模糊时有效,则可能会覆盖上一个事件或函数。 通过将其更改为模糊,无论是否覆盖它都不再会因为它是一个不同的事件 。
这也可以解释为什么你没有看到任何错误。 (请记住,我相信jQuery会链接绑定到相同元素的事件,但live()有点特殊 – 但这个事实可能指向它是函数,而不是事件绑定)
尝试使用.delegate()代替http://api.jquery.com/delegate/
我已经尝试过在FF和Chrome中编写代码 – http://jsfiddle.net/B3aRy/ – 它在两者中都有效。 那么也许它在你的代码中的其他地方有问题?
您使用的是什么版本的Jquery?
我自己也看不到这个问题,但是.live直到jquery 1.4+才支持“更改”事件
尝试:
function RegisterHoursValidationHandlers() { $(".topic-frame-body input[type='text']").live('change', function () { //Do some stuff here }); }
正如我所说的那样,引用“文本”。 值得一试。
或尝试:
$(".topic-frame-body input:text").live();
关键是,我认为问题在于您如何定位输入字段的细节,而不是在方法中。
- jqGrid,如何通过模态窗体在网格内的任何位置添加一行?
- 如何在文本容器中找到最后一个可见的单词位置?
- Bootstrap-select on click get clicked value
- ruby on rails jquery没有调用正确的控制器动作
- 绑定(’load’)的jQuery替代用于图像
- 如何使用jQuery UI的droppable对多个文本字段进行排序和创建?
- Jquery .Submit()不会触发提交事件
- jsTree:progressive_render,带有来自数组的ajax / render节点
- jQuery Javascript scrollTop在Chrome上无法正常工作以恢复滚动条位置