IE7更改事件未触发 [英] IE7 change event not being triggered

查看:88
本文介绍了IE7更改事件未触发的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做错什么了吗?为什么 click 事件没有在第一次按键时注册?

http://jsfiddle.net/vol7ron/VJ5CX/

在示例中,

  1. 单击菜单"以确保它具有焦点
  2. 使用箭头键(上/下)突出显示一个选项
  3. 使用空格键选择选项

注意如何不调用change()事件.再次使用空格键选择相同的选项,然后注意到它正在正常工作.

  • 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆