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事件:
$('.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(); } });