失去对中断的关注

时间:2013-11-11 18:31:59

标签: javascript jquery-ui

我有一些代码可以捕获keydown并查找Alt-D:

$(document).keydown(function(e) {
     if((e.keyCode == 68) && e.altKey){     // Alt-D
    e.preventDefault();

         - code to duplicate an element  - 

      }
});

这在第一次工作正常,但在通过我的“复制元素的代码”之后,未捕获下一个Alt-D。事实上,没有中断被捕获,直到我点击身体。似乎“复制元素的代码”会将中断指向其他窗口。

有人可以建议我在我的重复代码中必须做些什么来实现这一目标吗?我已经尝试将focus()应用于由重复代码创建的元素,但这不会让我的中断被看到。我必须在窗口中点击才能让他们回来。 (重复的代码是包含在这里的混乱的方式。)

感谢您的任何建议。

1 个答案:

答案 0 :(得分:1)

.preventdefault() 返回false;

两者都是必需的我相信跨浏览器兼容性。

你在创建元素吗?并尝试在实际创建元素之前设置焦点?

alt键本身。将焦点从文档中移出,并转移到工具栏。 尝试为alt和D键创建一个数组或全局变量,用于keydown。

所以发生了两次实际的“keydown”事件。每个事件都可以使用event.preventdefault();返回false;所以alt正在被阻止。和D键正在被阻止。

此刻猜测只有D键被阻止了。而不是“alt键”((按住D键然后按下ALT。对比ALT先按下然后按D键))