这是代码:

<label onclick="event.stopPropagation(); alert(event.target.innerHTML);">
    <button>
        button
    </button>
    <span>
        span
    </span>
</label>

(和 fiddle : http://jsfiddle.net/YsYKq/1/ )

如果单击按钮,只有 button 会收到警报,但是在 span 上时 - spanbutton 都会发出警报 - 所以 onclick 函数会被调用两次。

我怎样才能防止这种情况?我只需要调用 onclick 一次。

最佳答案

event.preventDefault(); 而不是 event.stopPropagation(); 仅在单击的元素上触发 onclickjsFiddle 上的演示。

关于javascript - Onclick 被调用两次,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15220591/

10-11 19:50
查看更多