<!DOCTYPE html>
<html>
<head>
<script src="jquery-2.1.1.min.js" type="text/javascript"></script>
</head>
<body>
<div id="outer">
<div id="inner">
</div>
</div>
<script type="text/javascript">
$("#outer").on("myevent", function(event) {
alert(event.target.id);
event.stopPropagation();
return false;
});
$("div").trigger("myevent");
</script>
</body>
</html>
In the code above I expect the event myevent
to be handled once by outer
div. But I see two alerts: outer
and then inner
. Why stopPropagation
does not work here and how do I prevent propagating custom events to children?
EDIT: I want to trigger event globally, like $("div").trigger("myevent");
but I want to handle it only there where I subscribed to it.