Chrome不允许使用标签预防错误

我有一个表单,用户可以在其中选项卡并跳转到不同的元素。 当它到达一个特殊的锚标签时我是要停止标签。

这是在Firefox中工作的代码

$('.next-tab').keypress(function(e){ var code = (e.keyCode ? e.keyCode : e.which); console.log(code); if (code == 0 || code == 9){ console.log("keypress") e.preventDefault(); e.stopPropagation(); } }); 

但是这个代码在chrome中不起作用,我不知道为什么,它甚至没有进入keypress方法。 所以我用这个代码换铬

 $('.next-tab').blur(function(e) { var code = (e.keyCode ? e.keyCode : e.which); console.log(code); if (code == 0 || code == 9){ console.log("blur") e.preventDefault(); e.stopPropagation(); } }); 

它进入模糊方法传递条件但不做任何事情,用户可以轻松移动到下一个元素。

对于chrome支持,看起来您需要使用keydown事件:

http://jsfiddle.net/qD2rk/

 $('.next-tab').keydown(function (e) { var code = (e.keyCode ? e.keyCode : e.which); console.log(code); if (code == 0 || code == 9) { console.log("keydown") e.preventDefault(); e.stopPropagation(); } });