【发布时间】:2019-07-07 15:34:32
【问题描述】:
我正在尝试构建我的第一个计算器。添加 eventListener 时,该函数仅有时进入if 语句。 IE。如果我单击某个数字,它不会记录,但是当我尝试其他数字然后再次尝试第一个数字时,它会起作用。我真的不明白这种行为。
这里你可以看看(登录到控制台)https://jsfiddle.net/ert54b7z/2/
const keys = document.querySelector(".keypad");
keys.addEventListener("click", function(e) {
if (e.target.matches("button")) {
const button = e.target;
const key = button.dataset.key;
console.log(key);
}
});
<div class="keypad">
<div class="clear">
<button data-key="clear" class="button"><p>C</p></button>
<button data-key="all-clear" class="button"><p>AC</p></button>
</div>
<div class="operations">
<button data-key="plus" class="button"><p>+</p></button>
<button data-key="minus" class="button"><p>-</p></button>
// ...
</div>
<div class="numbers">
<button data-key="7" class="button"><p>7</p></button>
<button data-key="8" class="button"><p>8</p></button>
// ...
</div>
<button data-key="equals" class="button equals"><p>=</p></button>
</div>
【问题讨论】:
标签: javascript html dom addeventlistener dom-events