0

ユーザーが入力している間、私はいくつかのライブ計算を行っています。

奇妙なことに、jsfiddle では機能しますが、localhost では機能しません。

window.onload = function() {

    var base = 10;
    var numberField = document.getElementById('numberField');

    numberField.onkeyup = numberField.onpaste = function() {

        if(this.value.length == 0) {

            document.getElementById('result').innerHTML = '';
            return;

        }

        var number = parseInt(this.value);

        if(isNaN(number)) return;

        document.getElementById('result').innerHTML = number * base;

    };

    numberField.onkeyup(); //could just as easily have been onpaste();
};
4

1 に答える 1

0

あなたは間違ったイベント、onkeyupを聞いています。代わりに、フィールド全体が変更され、ユーザーが入力を終了して入力フィールドがフォーカスを失ったりぼやけたりした後にトリガーされる.changeをリッスンする必要があります。

簡単な例:

 $(document).ready(function(){
     $(":input").change(function () {
         //do something
     });
 });

もう1つは、javascriptではなくjqueryを使用することです。それはあなたに多くの頭痛を救うでしょう。

于 2012-12-06T09:31:03.617 に答える