Keydown在firefox

时间:2015-06-10 10:35:30

标签: javascript

我想在我的页面中阻止一些特殊字符。所以我写了keypresskeydownpaste个事件来阻止这些字符。我在keydown事件中遇到了一些问题,仅在Firefox中。

这是我的代码:

document.addEventListener('keydown', function (e) {
    var SPCHARS = [192, 222]; //for [~"`']
    var SPCHARS_ONSHIFT = [54, 109, 219, 221, 188, 190, 55]; //for [_{}'<>^&]

    var charCode = (e.which) ? e.which : e.keyCode;

    if ($.grep(SPCHARS, function (e) { return e == charCode; }).length > 0) {
        e.preventDefault();
    }
    else if (typeof e.shiftKey == "boolean" && e.shiftKey && $.grep(SPCHARS_ONSHIFT, function (e) { return e == charCode; }).length > 0) {
        e.preventDefault();
    }
}, true);

问题是,当用户按右箭头键时,此事件会抑制该事件。调试时,我发现代码总是会跳转到&#34;否则如果&#34;条件 - 即使条件为false。它在铬方面工作得很好。任何想法????

请注意,我必须使用此keydown事件,因为我在页面中也使用了infragistics网格。

0 个答案:

没有答案