我想要一个jquery解决方案,我必须接近,需要做什么?
$('html').bind('keypress', function(e)
{
if(e.keyCode == 13)
{
return e.keyCode = 9; //set event key to tab
}
});
我可以返回false,它会阻止回车键被按下,我想我可以将keyCode改为9来使它成为tab,但它似乎不起作用。我得离得很近,怎么回事?
发布于 2010-02-26 00:21:12
$('input').on("keypress", function(e) {
/* ENTER PRESSED*/
if (e.keyCode == 13) {
/* FOCUS ELEMENT */
var inputs = $(this).parents("form").eq(0).find(":input");
var idx = inputs.index(this);
if (idx == inputs.length - 1) {
inputs[0].select()
} else {
inputs[idx + 1].focus(); // handles submit buttons
inputs[idx + 1].select();
}
return false;
}
});
发布于 2011-05-26 01:48:13
这工作得很完美!
$('input').keydown( function(e) {
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
if(key == 13) {
e.preventDefault();
var inputs = $(this).closest('form').find(':input:visible');
inputs.eq( inputs.index(this)+ 1 ).focus();
}
});
发布于 2013-05-28 05:24:08
为什么不像这样简单呢?
$(document).on('keypress', 'input', function(e) {
if(e.keyCode == 13 && e.target.type !== 'submit') {
e.preventDefault();
return $(e.target).blur().focus();
}
});
这样,您就不会触发提交,除非您已经专注于输入类型" submit“,并且它使您回到您停止的地方。这也使得它适用于动态添加到页面的输入。
注意:对于任何可能有任何"on blur“事件侦听器的人来说,blur()位于focus()之前。该过程不需要工作。
https://stackoverflow.com/questions/2335553
复制相似问题