select2覆盖e.preventDefault()

时间:2015-07-30 08:52:39

标签: javascript jquery firefox jquery-select2

我编写了一个脚本,该脚本使用大量数据并构建一个网格,您可以使用箭头键和标签浏览。

在单独的文件中测试它时一切正常。将它添加到我的网站后,该脚本在Chrome,Opera,Safari和IE中运行良好。但在Firefox中,我的注意力从网格中跳出来并转到地址栏。在我的测试文件中使用相同的数据,没有这样的错误。

它可能是什么原因导致它无法在Firefox中运行?我在Firebug中没有出错。

它的文件超过2500行...以下是使用Tab开始导航的部分:

    $(document).keydown(function (e) {
                switch (e.keyCode) {
                    case 9:
                        if (editing == true) {
                            e.preventDefault();
                            var direction = "right";
                            if (e.shiftKey) {
                                direction = "left";
                            }
                            root.gridSave();
                            root.moveMark(direction);
                            var checker = true;
                            var c = 0;
                            while (checker) {
                                if (!clickTarget) {
                                    if (newLine == true) {
                                        root.markNewLineFirstCell();
                                        root.scrollVert();
                                    } else {
                                        root.moveMark("right");
                                    }
                                }
                                if (!clickTarget.hasClass("editable")) {
                                    root.moveMark(direction);
                                    if (c > root.captions.length) {
                                        checker = false;
                                    }
                                    c++;
                                } else {
                                    editMode = false;
                                    root.edit(clickTarget);
                                    root.setFocus(clickTarget);
                                    checker = false;
                                }
                            }
                        } else {
                            e.preventDefault();
                            if (editMode == true) {
                                direction = "right";
                                if (e.shiftKey) {
                                    direction = "left";
                                }
                                root.moveMark(direction);
                                root.scrollVert();
                            }
                        }
                        break;
}
});

0 个答案:

没有答案