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
     });
 });

另一件事是使用 jquery 而不是 javascript。它将为您省去很多麻烦。

于 2012-12-06T09:31:03.617 回答