è stato utilizzato in questo modo:
stopImmediatePropagation: function() {
this.isImmediatePropagationStopped = returnTrue;
this.stopPropagation();
}
qui isImmediatePropagationStopped
è una query metodo di. utilizzato come questo event.isImmediatePropagationStopped()
naturalmente, è possibile definire un metodo di istanza, come:
event.prototyoe.isImmediatePropagationStopped = function() { return this._isImmediatePropagationStopped };
stopImmediatePropagation: function() {
this._isImmediatePropagationStopped = true; //or false at other place.
this.stopPropagation();
}
ma si deve introdurre una nuova proprietà di istanza _isImmediatePropagationStopped
per memorizzare lo stato.
con questo trucco, è possibile tagliare gruppo di proprietà di istanza per una tenuta vero stato/falso qui, come _isImmediatePropagationStopped
, _isDefaultPrevented
ecc
in modo che, a mio parere, questa è solo una questione di stile di codice, non giusto o sbagliato.
PS: i metodi di query su evento, come isDefaultPrevented
, isPropagationStopped
, isImmediatePropagationStopped
sono definiti nel livello di evento DOM 3 sepc.
spec: http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/events.html#Events-Event-isImmediatePropagationStopped
fonte
2013-02-07 07:44:01
Oltre alle risposte qui sotto, probabilmente ci sono anche motivi di prestazioni per una definizione unica al posto delle funzioni anonime in tutto. –