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