0

あなたの助けが必要です、

JavaScript コーディングは完璧に機能し、目的の結果が得られますが、何らかの理由で、テンキーのキーを入力ボックスに入力できません。ほとんどのユーザーは、キーボードの numlock キーを使用して数字を入力します。キーボードの個別の数字パッドのキーが機能するように、コーディングをどのように変更できますか?

<!DOCTYPE html>
<html>
    <body>
        <div>
            <input type="text" id="rownum">
        </div>
        <script type="text/javascript">
            document.getElementById('rownum').onkeydown = function(e) {
                var key = (window.event) ? event.keyCode : event.which;
                alert(key);
                if (key == 8) { // Delete key
                    return
                }
                else {
                    if ( isNaN( String.fromCharCode(key) ) ) return false;
                }
            }
        </script>
    </body>
</html>
4

3 に答える 3

0

array.indexOf(array) がサポートされていることの証明:

Array.prototype.indexOf = function(obj, start) {
     for (var i = (start || 0), j = this.length; i < j; i++) {
         if (this[i] === obj) { return i; }
     }
     return -1;
}

次に、以下を適用できます。

            document.getElementById('rownum').onkeydown = function(e) {

                var key = (window.event) ? event.keyCode : event.which;

                var keys = [8,37,39,46,96,97,98,99,100,101,102,103,104,105]

                var x = (keys.indexOf(key) > -1)

                if (x != true) {

                    if (isNaN(String.fromCharCode(key))) { return false }

                }
            }
于 2013-09-10T18:04:02.803 に答える