【发布时间】:2017-04-06 19:21:28
【问题描述】:
假设我在页面中有许多 html 控件,并且所有控件都有一个顺序制表位设置。所以如果我按制表符然后焦点正确移动,但我想通过按 Enter 键而不是制表符来移动焦点。所以请告诉我,当用户仅通过 javascript 或 jquery 在我的网页中按 Enter 键时,我如何以编程方式按 Tab。期待小的smaple代码达到我需要的效果。
谢谢。
【问题讨论】:
标签: javascript jquery
假设我在页面中有许多 html 控件,并且所有控件都有一个顺序制表位设置。所以如果我按制表符然后焦点正确移动,但我想通过按 Enter 键而不是制表符来移动焦点。所以请告诉我,当用户仅通过 javascript 或 jquery 在我的网页中按 Enter 键时,我如何以编程方式按 Tab。期待小的smaple代码达到我需要的效果。
谢谢。
【问题讨论】:
标签: javascript jquery
$(':input').keypress(function(e){
if(e.which == 13){
ti = $(this).attr('tabindex') + 1;
$('input[tabindex='+ti+']').focus();
//try to use________ e.which = 9; return e.which;
}else if(e.which == 9){
e.preventDefault(); //or return false;
}
});
Javascript方式:
<body onkeydown="if(event.keyCode==13){event.keyCode=9; return event.keyCode;}">
【讨论】:
$('input[tabindex='+ti+']').focus(); 行是正确的(将双引号更改为单引号),并且为了防止提交触发需要在处理键 13 后防止默认或返回 false。这也不起作用在下拉菜单中,jquery 选择器应该改变