Onclick被调用两次

k10*_*102 3 javascript onclick

这是代码:

<label onclick="event.stopPropagation(); alert(event.target.innerHTML);">
    <button>
        button
    </button> 
    <span>
        span
    </span>
</label>
Run Code Online (Sandbox Code Playgroud)

(和小提琴:http://jsfiddle.net/YsYKq/1/)

如果一个点击按钮,仅button是警告,但在跨时-无论是spanbutton发出警报-这样的onclick函数被调用两次.

我怎么能阻止这个?我只需要onclick被召唤一次.

小智 5

请尝试下面的代码,我正在编辑您的代码并将“stopPropagation”更改为“preventDefault”。

<label onclick="event.preventDefault(); alert(event.target.innerHTML);">
    <button>
        button
    </button> 
    <span>
        span
    </span>
</label>
Run Code Online (Sandbox Code Playgroud)


Tee*_*emu 5

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