//使用jQuery,模拟按键TAB, 按回输键后,焦点自动跳到下一个input或selec
N年前在网上收藏的,当时没有记下原创地址。
((jQuery) => {
// 模拟 Enter to Tab
jQuery.extend(jQuery.expr[':'], {
focusable: function(el, index, selector) {
const $el = $(el);
let result = $el.is('a, button, :input') && $el.is(":visible");
if (result) {
if ($el.attr("tabindex") < 0) {
result = false;
}
}
//return $(el).is('a, button, :input, [tabindex]');
return result;
}
});
$(document).on('keypress', 'input,select', function(e) {
if (e.which == 13) {
e.preventDefault();
// Get all focusable elements on the page
var $canfocus = $(':focusable');
var index = $canfocus.index(document.activeElement) + 1;
if (index >= $canfocus.length) index = 0;
$canfocus.eq(index).focus();
}
});
})(jQuery);