搜索

首页  >  问答  >  正文

JavaScript点击事件仅适用于元素本身,而非其父容器

我有以下代码:

<div onclick="myFunc()" style="height:200px;width:200px;">
  <button></button>
</div>

我希望当点击 div 上的任何地方时,执行 myFunc,但是不包括按钮。我该如何实现?

P粉545682500P粉545682500450 天前509

全部回复(1)我来回复

  • P粉795311321

    P粉7953113212023-09-07 00:15:30

    在按钮的点击事件中,你需要取消事件传播。或者停止“冒泡”。

    参见 https://developer.mozilla.org/en-US/docs/Web/API/Event/stopPropagation

    所以在你的按钮的点击事件中,你需要像这样:

    function button_click(event) {
        event.stopPropagation();
        console.log("按钮被点击了。");
      }

    默认情况下,元素的点击事件会传递给它的父元素。

    回复
    0
  • 取消回复