我正在尝试改变html表单中选择的行为。捕获TAB keydown并触发其他按键
我想的是,当用户使用键盘,如果他选择的元素并按压导航选项卡的形式中,所述元件被选择并且焦点切换到下一个形式输入。通常情况下,您需要按Enter键选择元素,然后您可以使用选项卡切换到下一个。如果没有按下输入,则不会选择任何选项。
要做到这一点,我想要捕获TAB按键,并触发一个ENTER键和一个TAB键。
这是我现在:
$('form[class="ui form"]').on('keydown', 'div[class="ui fluid selection dropdown active visible"]', function (e) {
var keyCode = e.keyCode || e.which;
if (keyCode == 9) {
e.preventDefault();
var y = jQuery.Event('keydown', {which: 13});
$(this).trigger(y);
var x = jQuery.Event('keydown', {which: 9});
$(this).trigger(x);
}
});
这里是一个演示:JSFiddle
代码“作品”高达e.preventDefault(),标签按键不切换专注于下一个输入。但是,输入和制表符操作没有被触发,所以没有任何反应。我该怎么办 ? 提前谢谢!
UPDATE 10/10:发现问题!触发事件x(制表键)使代码进入无限循环。所以整个方法是错误的。我会很快发布答案。
会发生什么事,如果你更换'和'keyCode' which'? – BenM
@BenM没有任何变化 – Ire
您是否尝试触发按键? –