IE7更改事件未触发 [英] IE7 change event not being triggered
本文介绍了IE7更改事件未触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我做错什么了吗?为什么 click
事件没有在第一次按键时注册?
http://jsfiddle.net/vol7ron/VJ5CX/
在示例中,
- 单击菜单"以确保它具有焦点
- 使用箭头键(上/下)突出显示一个选项
- 使用空格键选择选项
注意如何不调用change()事件.再次使用空格键选择相同的选项,然后注意到它正在正常工作.
- 根据此问题使用模糊/焦点a>,但是没有任何运气
- 将选中的属性设置为false,以确保触发了更改事件
- using the blur/focus according to this question, but haven't had any luck
- setting the checked attribute to false, to make sure the change event is triggered
- 使用鼠标时没有问题(如预期那样,它首次触发了更改事件)
- 即使使用鼠标进行选择(运行,单击一个选项,将鼠标悬停在该选项上并使用键盘),按下键仍然会出现问题.
- 使用键盘导航(向上/向下箭头)并使用空格键进行选择,应同时触发"keydown"和"click"日志.它在最初的键盘按下时不起作用,但在随后的每次操作中都起作用. (在Firefox中查看有效的示例)
推荐答案
我在初始加载时使用了模糊/聚焦.显然,我需要在keydown事件中添加模糊/焦点:
I was using blur/focus on the initial load. Apparently I needed the blur/focus inside the keydown event:
if (e.keyCode == 13 || e.keyCode == 32) {
var cb = container.find('label.x-hover input:checkbox');
cb.blur(); // <-- added
cb.focus(); // <-- added
cb.click();
updateLog('keydown');
oTitle.focus();
return false;
}
这篇关于IE7更改事件未触发的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文