如何模拟按下的回车键以表现为标签。我不想使用jQuery。我只需要在当前输入(文本字段)上模糊(松散焦点)并关注下一个(输入)元素。我尝试了这个,但它不起作用。
const handleKeyUp = (event) => {
const keyCode = event.keyCode || event.which;
if (event.target.value !== '' && keyCode === 13) {
event.preventDefault();
event.target.blur();
event.target.dispatchEvent(new KeyboardEvent('keypress', { key: 'Tab' }));
}
};
答案 0 :(得分:0)
您无法通过模拟事件触发默认浏览器行为。
您需要在Tab键顺序中标识下一个字段,在DOM中找到它,然后调用其focus()
方法。
答案 1 :(得分:0)
$(document).on('keydown', ':tabbable', function (e) {
if (e.which == 13 || e.keyCode == 13 ) {
e.preventDefault();
var $canfocus = $(':tabbable:visible')
var index = $canfocus.index(document.activeElement) + 1;
if (index >= $canfocus.length) index = 0;
$canfocus.eq(index).focus();
}
});