如何在HTML页面中停止tab键的默认操作

时间:2014-07-02 05:33:45

标签: javascript jquery html

在我的HTML页面中存在多个组件,在按Tab键按钮时,焦点设置为某些组件(不按顺序)。如何阻止标签将焦点放在整个页面上的任何组件上?使用html页面的最外层div id,我们可以阻止标签将焦点放在任何组件和位置栏上吗?

我已经添加了jsfiddle (demo),即使我没有使用tabindex,但仍然专注于告诉我如何禁用标签点击。

$(document).on('keydown', function(event) {
   if (event.keyCode == 9) {   //tab pressed
      event.preventDefault(); // stops its action
   }
});

4 个答案:

答案 0 :(得分:5)

我在代码下面尝试了,并且在我的场景中正常工作:

$(document).keydown(function (e) 
{
    var keycode1 = (e.keyCode ? e.keyCode : e.which);
    if (keycode1 == 0 || keycode1 == 9) {
        e.preventDefault();
        e.stopPropagation();
    }
});

答案 1 :(得分:0)

以下是一些jQuery,您可以使用它来禁用整个页面上的Tab键。

$(document).on('keydown', function(event) {
    if (event.keyCode == 9) {   //tab pressed
        event.preventDefault(); // stops its action
    }
});

可能还有一些其他后果可能会完全禁用您可能需要考虑的Tab键。

答案 2 :(得分:0)

稍加更改尝试keypress而不是keydown并返回false而不是event.preventDefault(); 像这样的东西

$(document).on("keypress", function(event) {
    if (event.keyCode == 9) {   //tab pressed
        return false; // stops its action
    }
});

答案 3 :(得分:0)

我是这个地方的新手,所以不知道如何回答评论。我试过,但它看起来像一条线而不是代码 它在这段代码中工作得很好。实际上。不要把它从它上移除

$(document).keydown(function(event) {
    if (event.keyCode == 9) {  //tab pressed
        event.preventDefault(); // stops its action
    }
})

同时更新了fiddle