例如,当我在.res
输入中写入50,在第二输入.res2
中写入25,然后单击等于时,它必须减去,但警报返回的不是数字
<div class="wind">
<input class="res" value=" " maxlength="24">
<input class="res2" value=" " maxlength="24">
<button class="equal">=</button>
<div class="numbers">
$(".one,.two,.three,.four,.five,.six,.seven,.eight,.nine,.zero,.dot").on('mousedown',function(event){
event.preventDefault();
if($('.res').is(":focus")){
firstNumber = $('.res').val(Number(($('.res').val()) + $(this).val()));
} else {
secondNumber = $('.res2').val(Number(($('.res2').val()) + $(this).val()));
}
})
$('.equal').click(function(){
alert(firstNumber-secondNumber);
})
答案 0 :(得分:2)
firstNumber
和secondNumber
变量是在第一次点击处理程序中定义的,超出了.equal
点击处理程序的范围。当发生该事件时,您需要从DOM中检索值,如下所示:
$('.equal').click(function() {
var firstNumber = parseInt($('.res').val(), 10);
var secondNumber = parseInt($('.res2').val(), 10);
console.log(firstNumber - secondNumber);
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="wind">
<input class="res" value="50" maxlength="24">
<input class="res2" value="25" maxlength="24">
<button class="equal">=</button>
<div class="numbers"></div>
</div>