代码之家  ›  专栏  ›  技术社区  ›  Nicolas Wu

嵌套的javascript onmousedown事件

  •  1
  • Nicolas Wu  · 技术社区  · 16 年前

    我想要不同的嵌套onmousedown事件。例如,考虑以下代码:

    <div id="parent" onmousedown="foo();">
      <div id="child1"> </div>
      <div id="child2"> </div>
      <div id="child3" onmousedown="bar();"> </div>
    </div>
    

    parent child1 和 child2 ,将导致 foo() 被呼叫,如果 child3 bar() 应该改为调用。

    foo() 什么时候 被点击了,这不是我想要的。

    2 回复  |  直到 16 年前
        1
  •  1
  •   Tim Down    16 年前
    <script type="text/javascript">
    
    function bar(evt) {
      // Your stuff here
      if (typeof evt.stopPropagation != "undefined") {
        evt.stopPropagation();
      } else {
        evt.cancelBubble = true;
      }
    }
    
    </script>
    
    <div id="parent" onmousedown="foo();">
      <div id="child1"> </div>
      <div id="child2"> </div>
      <div id="child3" onmousedown="bar(event);"> </div>
    </div>
    
        2
  •  1
  •   Gunjan    16 年前

    在HTML中:

    <div id="parent" onmousedown="foo();">
      <div id="child1"> </div>
      <div id="child2"> </div>
      <div id="child3" onmousedown="bar(event);"> </div>
    </div>
    

    在javascript中

    function bar(event)
    {
        // usual bar stuff
        event.stopPropagation();
    }