1

ユーザーがクリックしたキーを検出し、そのキー (英数字の場合) に基づいて動作するスクリプトを作成しましたが、これまでのところ機能しておらず、エラーも発生していません。

 jQuery(document).ready(function() { 
    $("#my_field").keydown(function(event) { 
        var additional = new Array(8,9,13,27,35,36,37,38,39,46); 
        var numbers = new Array(48,49,50,51,52,53,54,55,56,57,96,97,98,99,100,101,102,103,104,105,144); 
        var letters = new Array(65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90); 
        var AllowedKeyCode = 
            (jQuery.inArray(event.keyCode, additional) >= 0) 
                || 
            (jQuery.inArray(event.keyCode, letters) >= 0) 
                || 
            ((!event.shiftKey) && (jQuery.inArray(event.keyCode, numbers) >= 0)) 
                || 
            ((event.ctrlKey) && (event.keyCode == 65 || event.keyCode == 67 || event.keyCode == 86)); 
        if (AllowedKeyCode === false) {event.preventDefault();} 
    }); 
});

本当に助けていただければ幸いです。

4

1 に答える 1

1

Javascript での配列の理想的な構文は次のとおりです。

var additional = [8,9,13,27,35,36,37,38,39,46];

とは対照的に:

var additional = new Array(8,9,13,27,35,36,37,38,39,46);

問題は、返品アクションがないことである可能性があります。あなたが投稿したものを見るのはかなり難しいです。

変更してみてください:

event.preventDefault();

return false;
于 2013-01-23T13:09:52.353 に答える