我尝试使用jquery热键库(https://github.com/jeresig/jquery.hotkeys)和捕鼠器库(http://craig.is/killing/mice)来处理我网站上的键盘快捷键。
但是,正好在加载页面时,即使我尝试绑定到文档或窗口,也不会触发任何事件。点击后,事件就会触发。我最近尝试使用jQuery作为黑客攻击点击...但它不是很有效。
键盘事件应该在页面加载时响应吗?一旦用户关注页面,他们才会开始响应吗?有没有办法在用户点击鼠标之前将它们绑定到文档?
我尝试使用.focus()
和.click()
进行聚焦并看到此question,但不是运气。
答案 0 :(得分:1)
键盘事件仅在页面上的元素(很可能是输入)被聚焦时触发。
这是一篇类似的帖子:
Do browser key events fire (bubble) only to elements in focus?
答案 1 :(得分:0)
我不熟悉您正在使用的任何插件,但如果您只是在寻找简单的按键绑定,则不需要任何插件
$(document).ready(function(){
$(document).unbind('keyup'); // make sure nothing else breaks stuff
$(document).bind("keyup", function(event){
code = (event.keyCode ? event.keyCode : event.which);
if (code == 13) {
alert("enter key pressed");
}
})
})
这将引起无关紧要的焦点(显然用户浏览器仍然必须在顶部)。 有关可绑定密钥的完整参考,您可以检查here。