这是代码:
<label onclick="event.stopPropagation(); alert(event.target.innerHTML);">
<button>
button
</button>
<span>
span
</span>
</label>
(和 fiddle : http://jsfiddle.net/YsYKq/1/ )
如果单击按钮,只有
button
会收到警报,但是在 span 上时 - span
和 button
都会发出警报 - 所以 onclick
函数会被调用两次。我怎样才能防止这种情况?我只需要调用
onclick
一次。 最佳答案
event.preventDefault();
而不是 event.stopPropagation();
仅在单击的元素上触发 onclick
。 jsFiddle 上的演示。
关于javascript - Onclick 被调用两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15220591/