С jQuery:
Если вы используете stopImmediatePropagation
jQuery, то я увидел следующий код jQuery в его репозитории GitHub.
https://github.com/jquery/jquery/blob/899c56f6ada26821e8af12d9f35fa039100e838e/src/event.js#L594
здесь приведено определение stopImmediatePropagation
:
stopImmediatePropagation: function() {
var e = this.originalEvent;
this.isImmediatePropagationStopped = returnTrue;
if ( e && !this.isSimulated ) {
e.stopImmediatePropagation();
}
this.stopPropagation();
}
, поэтому, похоже, Event.isImmediatePropagationStopped
- это способ узнать, что вам нужно.
Без jQuery:
Если вы пытаетесь достичь того же самого без jQuery, то я думаю, что нет никакого собственного способа узнать, действительно ли вызывается stopImmediatePropagation
.но следующий код можно использовать, чтобы переопределить исходный stopImmediatePropagation
и заставить его работать, как указано выше.
stopImmediatePropagationOriginal = Event.prototype.stopImmediatePropagation;
Event.prototype.stopImmediatePropagation = function(event){
stopImmediatePropagationOriginal.bind(this).call(event);
this.isImmediatePropagationStopped=true;
};
, поэтому с помощью приведенного выше кода вы можете использовать Event.isImmediatePropagationStopped
, чтобы узнать, что вам нужно.