IE8 中,沒法用$.focus()設置input的焦點

  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

相關文章
相關標籤/搜索