Javascript 实时计算不需要';行不通

Javascript 实时计算不需要';行不通,javascript,Javascript,我在用户输入时进行实时计算 这很奇怪,它可以在jsfiddle中工作,但不能在localhost中工作 window.onload = function() { var base = 10; var numberField = document.getElementById('numberField'); numberField.onkeyup = numberField.onpaste = function() { if(this.value.le

我在用户输入时进行实时计算

这很奇怪,它可以在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();
};

你听到的是错误的事件,onkeyup。相反,您应该听.change,当整个字段发生变化时,在用户完成键入并且输入字段失去焦点或模糊后,会触发.change

快速示例:

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

另一件事是使用jquery而不是javascript。这会帮你省去很多麻烦。

也许可以发布正在工作的jsfiddle。这是小提琴。我试过这个工具,但它就是不起作用$(“.bayar5”).keyup(function()//解释代码节{if(this.value.length==0){//解释代码节document.getElementById('kembali5')。innerHTML='';//解释代码节返回;}var bayar5=parseInt(this.value);if(isNaN(bayar5))return;document.getElementById('kembali5')。innerHTML=bayar5-total5;//解释代码节});//解释代码部分还阅读了.change的文档,在尝试使用它之前,请尝试在全局函数$(function(){})中执行它;或者,如果是移动设备,请添加设备就绪侦听器,但请使用.change函数,因为在这种情况下,使用keyup进行侦听没有帮助