javascript - 需要使用 event.currentTarget 进行 Javascript 计算方面的帮助
问题描述
当我尝试测试这个计算脚本时,我不断得到 Infinity。这是我第一次尝试不使用表单元素。我试过四舍五入到小数点后两位,但我担心问题在于我如何引用按钮 ID。同样,这是我第一次使用这种方法而不是表单/提交,我真的需要帮助找出我做错了什么。看来我没有正确获得当前目标的 id。
scene.clickHandler = function(event) {
var button = event.currentTarget;
var termId = event.currentTarget.id;
var carCost = 26899;
var myPmt = carCost / termId;
document.getElementById('payment').innerHTML = (26899 / event.currentTarget.id);
if (this.currentButton && this.currentButton !== button) {
this.currentButton.classList.remove('selected');
}
button.classList.add('selected');
};
<header>
<h2>AUTOMOTIVE RETAIL BASICS</h2>
<h1>MONTHLY PAYMENT</h1>
</header>
<main>
<img src="images/1000/1000.jpg">
<div class="text">
<h1>WHAT'S MY MONTHLY PAYMENT?</h1>
<p id='cost' value='26899'>Vehicle base Price:$26,899</p>
<p>
<button id='36' class='text' value='36' type='submit'><label>36 MOS</label></button>
<button id='48' class='text' type='submit' value='48'><label>48 MOS</label></button>
<button id='60' class='text' type='submit' value='60'><label>60 MOS</label></button></p>
<p>Monthly Payment:
<div id='payment'></div>
</p>
</div>
</main>
解决方案
为什么currentTarget
在这里使用?为什么不target
呢?currentTarget
是您将侦听器附加到的元素,但target
它是触发它的元素。因此event.currentTarget.id;
将评估null
或评估""
没有 id 的目标。并除以null
或""
生成Infinity
。只需使用target
而不是currentTarget
.