In what situation would one use jQuery's isImmediateP开发者_如何学编程ropagationStopped method? Example on their documentation page does not help.
If you were in a situation with multiple .live() events for example, you'd want to .stopImmediatePropagation() then check it in a following handler, since you've already bubbled up to the same element. Let's take a live example:
$("a").live("click", function(e) {
alert("Handler 1");
e.stopImmediatePropagation();
}).live("click", function(e) {
alert("Handler 2");
});
You can test it here - notice both alerts still fire.
Even though we're stopping propagation immediately, we're listening at a level it doesn't matter, so we actually need to check it:
$("a").live("click", function(e) {
alert("Handler 1");
e.stopImmediatePropagation();
}).live("click", function(e) {
if(e.isPropagationStopped()) return;
alert("Handler 2");
});
You can test it here - only the first alert fires, the desired result. Depending on your event order, the same situation happens with .delegate(). There are other examples of course, but these are the situations you're at all likely to encounter in normal usage.
加载中,请稍侯......
精彩评论