me.on("keydown.autoTableEvent", '.waitEdit', function (event) { if (event.keyCode == 13) { var idx = opt._waitEdit.index(this); if (idx < opt._waitEdit.length - 1) $(opt._waitEdit[idx + 1]).autoSelectWord(); return false; } if (event.keyCode == 38) { var field = $(this).data('field'); var list = opt._waitEdit.filter("[data-field='" + field + "']");//獲取當前一列全部的編輯項 var idx = list.index(this); if (idx > 0) $(list[idx - 1]).autoSelectWord(); return false; } if (event.keyCode == 40) { var field = $(this).data('field'); var list = opt._waitEdit.filter("[data-field='" + field + "']"); var idx = list.index(this); if (idx < list.length - 1) $(list[idx + 1]).autoSelectWord(); return false; } })
開始時,沒有return false時,除IE8以外,其它瀏覽器都能回車與上下鍵切換input的焦點。jquery
但IE8必須加上return false。不加,彷佛事件亂竄,調試則進到jquery的其它地方,我沒有細追。瀏覽器
這個問題在http://stackoverflow.com/questions/1326993/jquery-focus-sometimes-not-working-in-ie8也有討論。不過他們的方法沒管用。卻是return false解決了!this
最近鎖表頭的方法沒找到很好的。用floatTable,但大表要卡個四、5秒才行,難過。spa