在我的HTML页面中存在多个组件,在按Tab键按钮时,焦点设置为某些组件(不按顺序)。如何阻止标签将焦点放在整个页面上的任何组件上?使用html页面的最外层div id
,我们可以阻止标签将焦点放在任何组件和位置栏上吗?
我已经添加了jsfiddle (demo),即使我没有使用tabindex,但仍然专注于告诉我如何禁用标签点击。
$(document).on('keydown', function(event) {
if (event.keyCode == 9) { //tab pressed
event.preventDefault(); // stops its action
}
});
答案 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