jquery Enter as Tab在Firefox中不起作用,但在Chrome中工作正常

时间:2014-05-27 12:40:50

标签: javascript jquery google-chrome firefox

我已经使下面的这个脚本在chromeoverflow中的某个人的帮助下正常工作。

(function($) {
$.fn.enterAsTab = function(options) {
    var settings = $.extend({
        'allowSubmit': false
    }, options);
    $(this).find('input, select, textarea, button').on("keypress", {localSettings: settings}, function(event) {
        if (settings.allowSubmit) {
            var type = $(this).attr("type");
            if (type == "submit") {
                return true;
            }
        }
        if (event.keyCode == 13) {
            var inputs = $(this).parents("form").eq(0).find(":input:visible:not(:disabled):not([readonly])");
            var idx = inputs.index(this);
            if (idx == inputs.length - 1) {
                idx = -1;
            } else {
                inputs[idx + 1].focus(); // handles submit buttons
            }
            try {
                inputs[idx + 1].select();
            }
            catch (err) {
                // handle objects not offering select
            }
            return false;
        }
    });
    return this;
};

})(jQuery的);

但是这段代码在Firefox中并没有完全发挥作用。不工作的部分是选择。当我在下拉列表中时,我无法使用enter移动到下一个字段(选择)。

提前谢谢。

1 个答案:

答案 0 :(得分:0)

Firefox不支持

event.keycode。您需要将event.which用于Firefox。

看看:window.event.keyCode how to do it on Firefox?