2012-12-02 16 views
0

我正在尝试将关键事件处理为画布。我添加了一个tabindex,它允许画布接收事件。我的问题是keydown事件没有注册。他们仍然在阅读文件。我可以得到字母键事件,但不是标准的箭头键(或者至少在除FF之外的所有内容中)。Javascript重要事件IE,Safari

所以我想我的问题是我如何处理IE,Safari和Chrome中的箭头键事件?在所有浏览器中,我都可以用字母和数字得到“排序”。只是没有箭头键。

谢谢你一堆。

$('#tetris-canvas').keypress(function(e){ 
    e.preventDefault(); 
    alert('sort of handled'); 
    tetris.keyHandler(e); 
}); 

我的页面是在http://tetris.townsendwebdd.com/,如果你想看到整个代码

因此改变它的$(document).keypress(亚达); Safari浏览器仍然不处理箭头

回答

1

试试这个:

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

这工作。谢谢你为什么会使用keydown而不是按键虽然 – Gambai

+0

这可能有帮助... http://stackoverflow.com/questions/1367700/whats-the-difference-between-keydown-and-keypress-in-net –