; $.fn.enter2tab = function (fn_done) { this.keydown(function (e) { // get key pressed (charCode from Mozilla/Firefox and Opera / keyCode in IE) var key = e.charCode ? e.charCode : e.keyCode ? e.keyCode : 0; var tmp = null; var maxTabIndex = 9999; // get tabindex from which element keypressed //var nTabIndex = (parseInt($(this).attr('indexRow'), 10) || 0) + 1; var objCurrElement = this; var objCurrElementCollect = $('[indexRow]').not(':disabled'); var nTabIndex = []; objCurrElementCollect.each(function (idx) { if (this === objCurrElement) { nTabIndex = $(objCurrElementCollect[idx + 1]) return false; } }); debugger; var myNode = this.nodeName.toLowerCase(); if (((key === 13 && !e.ctrlKey) || key === 9) && ((myNode == "textarea") || (myNode == "input") || (myNode == "select") || (myNode == "a") || (myNode == "button"))) { for (var x = 0; x < 3; x++) { //tmp = $("a[indexRow='" + nTabIndex + "'],textarea[indexRow='" + nTabIndex + "'],select[indexRow='" + nTabIndex + "'],input[indexRow='" + nTabIndex + "'],button[indexRow='" + nTabIndex + "']").get(0); tmp = nTabIndex; debugger if (nTabIndex.length > 0) { $(tmp).focus(); return false; //break; } else { //如果要循環的話,就解開以下的封印 //var first = $("a[tabIndex='0'],textarea[tabIndex='0'],select[tabIndex='0'],input[tabIndex='0']").get(0); //$(first).focus(); this.blur(function () { //alert('cc'); }); if (typeof fn_done === 'function') fn_done(); //當tab或enter到最後一個欄位時的處理方法 return false; } } return false; } else if (key == 13) { //return false; } }) return this; }