Fügen Sie Ereignisse im IE -Browser mit Anhang und Ablösung hinzu oder löschen Sie sie. In anderen Standard -Browsern werden AddEventListener und REMEDEVENTLITENER verwendet. Das folgende fasst die Zugabe und Entfernung von Ereignissen zusammen. Schau dir den Code an!
/*** @Description Ereignisbindung, kompatibel mit Browsern* @param target* Ereignistriggerobjekt* @param type* Ereignis* @param func* Ereignishandlerfunktion*/Funktion Bind (Ziel, Typ, func) {if (target.addeventListener) {// Nonie und ie9target. IE6 zu IE8Target.attaCHEvent ("on" + type, func);} else {target ["on" + type] = func; // IE5}}/*** @Description Ereignisentfernung, kompatibel mit jedem Browser* @param Ziel* Ereignisauslöser Objekt* @param type* Ereignis* @param func* Ereignishandlerfunktion*/function UnBind (Ziel, Typ, type, func) {if (target.Removeer) {Target. {target.detACHEvent ("on" + type, func);} else {target ["on" + type] = null;}}Andere Ergänzungen zur Bedeutung des dritten Parameters von AddEventListener
Der dritte Parameter von AddEventListener
Die Funktion, mit der ein Triggerereignis in W3C DOM hinzugefügt wird, wird als AddEventListener bezeichnet. Ich habe jedoch nie gewusst, wofür der dritte Parameter dieser Funktion verwendet werden soll. Ich habe es immer beiläufig gesetzt und keinen Unterschied gefunden. Ich habe endlich die Erklärung gesehen, als ich vor zwei Tagen PPK auf JavaScript las. In Bezug auf die Standarddom -Dateien, die vor langer Zeit gefunden wurden, habe ich tatsächlich nie nach Informationen zu diesem Parameter gesucht.
Dieser Parameter heißt Uscapture, ein boolescher Wert, der wahr oder falsch ist. Wenn True gesendet wird, verwendet der Browser die Erfassungsmethode. Wenn falsch ist, sprudelt es, was in bestimmten Situationen nur einen Einfluss hat. Es wird normalerweise empfohlen, falsch zu sein. Die Situation, in der es Auswirkungen gibt, ist, dass das Zielelement ein Vorfahrelement und die gleiche Ereigniskorrespondenzfunktion hat. Ich denke, es wird klarer sein, das Bild zu sehen.
Das Beispiel hat zwei Schichten Div -Blöcke
Wie in diesem Bild gezeigt, enthält mein Beispiel zwei Schichten von Divelementen und beide legen ein Klickereignis fest. Wenn ich auf das innere blaue Element klicke, löst ich im Allgemeinen nicht nur das Klickereignis des blauen Elements aus, sondern auch das Klickereignis des roten Elements gleichzeitig. Der Parameter Usecapture besteht darin, die Reihenfolge der beiden Klick -Ereignisse zu diesem Zeitpunkt zu steuern. Wenn es falsch ist, wird Blasen verwendet. Es ist ein Vorgang von innen nach außen, daher wird das Klickereignis des blauen Elements zuerst und dann das Klickereignis des roten Elements ausgeführt. Wenn es wahr ist, dann ist es die Erfassung. Im Gegenteil, das Blasen wird von außen nach innen sein. Das Klickereignis des roten Elements wird zuerst ausgeführt, bevor das Klickereignis des blauen Elements ausgeführt wird. Angehängt sind zwei Beispiele, Capture und Bubbleng. Die beiden Dateien sind in diesem Parameter nur unterschiedlich, sodass Sie feststellen, dass die Folge der Ereignisse auftritt.
Was ist, wenn die Usecapture, die von Elementen verschiedener Schichten verwendet wird, unterschiedlich ist? Dies bedeutet, dass es aus dem äußersten Element zunächst nach Ereignissen sucht, die als Erfassung des Zielelements eingestellt sind, und nach dem Erreichen des Zielelements das Ereignis des Zielelements auszuführen und dann nach Ereignissen zu suchen, die als Blase festgelegt werden.