按下空格键一次后,Jquery功能不起作用

Jquery function does not work after press the space button once

本文关键字:Jquery 功能 不起作用 一次 空格键      更新时间:2024-04-05

我正在处理一个简单的jquery示例。我想把用户键入的所有数字相加。用户必须在键入数字后按enter键,如果用户按空格键,结果将显示在屏幕上。我的问题是,在我按下空格键一次之后,就不再执行求和过程了。我已经尝试了我想的可能的方法,但我无法解决。有人能帮我吗?

<script type="text/javascript">
var typedNumber=0;
var sum = 0;
var textValue = $('#textbox').val();
$(document).ready(function(){
    $('#textbox').keyup(function(event){
            if(event.keyCode == 13){
                textValue = $('#textbox').val();
                typedNumber = parseInt(textValue);
                sum = sum + typedNumber;
                $('#textbox').val("");
            }
            if(event.keyCode == 32 ){
                alert("Summation has been finished!, Sum = "+sum);
                $('#resultMessage').html(sum);
                sum = 0;
                typedNumber = 0;
            }
    });
}); 
</script>

我建议检查输入字段中的值是否为数字。

sum = 0;
$(document).ready(function(){
    $('#textbox').keyup(function(event){
        if(event.keyCode == 13){
            var value = parseInt($('#textbox').val());
            if(!isNaN(value)) {
                sum = sum + value;   
            }
            $('#textbox').val("");
        }
        if(event.keyCode == 32 ){
            alert("Summation has been finished!, Sum = "+sum);
            $('#resultMessage').html(sum);
            $('#textbox').val("");
            sum = 0;
        }
    });
});

在使用sum变量之前,您必须首先定义它。此外,您应该在keyup处理程序中使用preventDefault

示例:http://jsfiddle.net/9Q3dJ/