使用preventDefault()
上的keydown
适用于所有密钥,但某些网站(例如Gmail)上的标签键。
为什么会这样? tab键有什么特别之处 - 不应该像其他keypress
一样对待它吗?
如何阻止标签键循环浏览Gmail中的元素?
以下是我目前使用的Greasemonkey(JS with jQuery)代码:
$("body.editable.LW-avf").keydown(function(event){
if(event.which == 9){
event.preventDefault();
}
});
除标签之外的任何内容(例如a
)都有效 - keypress
已停止。如何捕获tab键?
答案 0 :(得分:0)
Gmail可能已使用preventDefault
重新定义事件处理程序,因为它未使用tabindex
。在这种情况下,您需要覆盖preventDefault
:
Event.prototype.preventDefault = function(){}