嵌套的javascript onmousedown事件

时间:2010-07-16 09:56:06

标签: javascript html

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

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

我希望点击parent div内的任何区域,包括child1child2,都会导致foo()被调用,如果单击child3,然后应调用bar()

我到目前为止的尝试表明,上面的示例会在点击foo()时调用child3,这不是我想要的。

2 个答案:

答案 0 :(得分:1)

在您的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();
}

答案 1 :(得分:1)

<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>