Вложенный JavaScript onmousedown события

Я хотел бы отличающийся, вложил 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() когда child3 нажат, который не является тем, что я хочу.

1
задан Nicolas Wu 16 July 2010 в 09:56
поделиться

2 ответа

<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>
1
ответ дан 2 September 2019 в 23:01
поделиться

В вашем 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
ответ дан 2 September 2019 в 23:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: