Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript关键事件,例如Safari_Javascript_Key Events - Fatal编程技术网

Javascript关键事件,例如Safari

Javascript关键事件,例如Safari,javascript,key-events,Javascript,Key Events,我正在尝试处理画布上的关键事件。我添加了一个tabindex,它允许画布接收事件。我的问题是keydown事件没有注册。他们仍在查阅文件。我可以得到字母键事件,但不能得到标准箭头键(或者至少在除FF以外的所有项目中) 所以我想我的问题是如何处理IE、Safari和Chrome中的箭头键事件?在所有带有字母和数字的浏览器中,我都会得到“某种程度的处理”。只是不要用箭头键 非常感谢 $('#tetris-canvas').keypress(function(e){ e.preventDefaul

我正在尝试处理画布上的关键事件。我添加了一个tabindex,它允许画布接收事件。我的问题是keydown事件没有注册。他们仍在查阅文件。我可以得到字母键事件,但不能得到标准箭头键(或者至少在除FF以外的所有项目中)

所以我想我的问题是如何处理IE、Safari和Chrome中的箭头键事件?在所有带有字母和数字的浏览器中,我都会得到“某种程度的处理”。只是不要用箭头键

非常感谢

$('#tetris-canvas').keypress(function(e){
  e.preventDefault();
  alert('sort of handled');
  tetris.keyHandler(e);
});
如果您想查看整个代码,我的页面位于

因此将其更改为$(document.keypress(yada);safari仍然无法处理箭头

请尝试以下操作:

$(#tetris-canvas).keydown(function(e) {
    e.preventDefault();
    e.stopPropagation();
    // your code...
});​

这很有效。谢谢你,为什么它会和按键一起工作而不是按键,虽然这可能会有帮助。。。