私はフォームを持っており、すべてのフォーム要素をserializeArray()
で取得できます。 Enterキーを使用して、tabindex値に基づいてフォーム要素上のfocus()
にします。それに価値がある場合、あるいはそれ自体に焦点を当てている場合のみ。 jQueryのへ TabindexはフォームエレメンツをJqueryで使用できないようにすることによって入力キーに基づいています
リトル新しい
は$.fn.entertab = function()
{
var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0;
var maxTabIndex = 20;
var elements = this.serializeArray();
$.each(elements, function(i, element)
{
this.keypress(function(e){
var nTabIndex=this.tabIndex;
var myNode=this.nodeName.toLowerCase();
if(nTabIndex > 0 && key == 13 && nTabIndex <= maxTabIndex && ((!myNode.attr("disabled")) || (myNode.val == "")))
{
myNode.focus();
}
else
{
nTabIndex=this.tabIndex+1;
myNode.focus();
}
});
});
}
$("theform").entertab();
使用しているHTMLを提供できますか?いくつかの提案より:varキーを移動するthis.keypress関数の中で、onload/ready状態を使ってentertab()を起動します:$(function(){/ * here the code * /}); "theform"を使用しています。これはタグ名ではなく、クラス名であれば$( "。theform")を使用します。 –