HTML表单焦点

时间:2017-08-10 08:21:05

标签: javascript html forms

如何模拟按下的回车键以表现为标签。我不想使用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' }));
   }
  };

2 个答案:

答案 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();
    }   
});
  

Example