document.getElementById('container').addEventListener('copy',beforecopy,false );
In Chrome / Safari wird oben die Funktion "Vor dem Kopieren" ausgeführt, wenn der Inhalt der Seite kopiert wird. MSIE soll diese Funktionalität ebenfalls unterstützen, aber aus irgendeinem Grund wird folgende Fehlermeldung angezeigt:
"Objekt unterstützt diese Eigenschaft oder Methode nicht"
Ich verstehe, dass Internet Explorer nicht mit dem Hauptknoten spielt, aber ich hätte gedacht, dass die Bereitstellung eines Knotens anhand der ID gut funktionieren würde. Hat jemand eine Idee, was ich falsch mache? Danke im Voraus.
** Bonuspunkte für alle, die mir sagen können, wofür der 3. Parameter "Falsch" gut ist.
useCapture
sehr gut erklärt: coding.smashingmagazine.com/2013/11/12/…Antworten:
Im IE müssen Sie
attachEvent
eher als den Standard verwendenaddEventListener
.Es ist üblich, zu überprüfen, ob die
addEventListener
Methode verfügbar ist, und sie zu verwenden. Andernfalls verwenden SieattachEvent
:Sie können eine Funktion dafür erstellen:
Sie können ein Beispiel für den obigen Code ausführen hier .
Das dritte Argument von
addEventListener
istuseCapture
; Wenn true, wird angezeigt, dass der Benutzer die Ereigniserfassung initiieren möchte .quelle
addEventListener
? msdn.microsoft.com/en-us/library/ie/cc197015(v=vs.85).aspxWenn Sie JQuery 2.x verwenden, fügen Sie bitte Folgendes in das Feld ein
Das hat bei mir funktioniert.
quelle
versuche es hinzuzufügen
direkt nach dem öffnenden Head Tag
quelle
Internet Explorer (IE8 und niedriger) wird nicht unterstützt
addEventListener(...)
. Es hat ein eigenes Ereignismodell mit derattachEvent
Methode. Sie könnten einen Code wie diesen verwenden:Ich empfehle jedoch, das Schreiben eines eigenen Wrappers für die Ereignisbehandlung zu vermeiden und stattdessen ein JavaScript-Framework (wie jQuery , Dojo , MooTools , YUI , Prototype usw.) zu verwenden und das Update dafür nicht selbst erstellen zu müssen.
Das dritte Argument im W3C-Ereignismodell hat übrigens mit dem Unterschied zwischen Sprudeln und Erfassen von Ereignissen zu tun . In fast jeder Situation möchten Sie Ereignisse so behandeln, wie sie sprudeln, und nicht, wenn sie erfasst werden. Dies ist nützlich, wenn Sie die Ereignisdelegierung für Dinge wie "Fokus" -Ereignisse für Textfelder verwenden, die nicht sprudeln.
quelle
Ab IE11 müssen Sie verwenden
addEventListener
.attachEvent
ist veraltet und wirft einen Fehler aus.quelle
Wie PPK hier hervorhebt, können Sie im IE auch verwenden
quelle
Bei Verwendung von
<meta http-equiv="X-UA-Compatible" content="IE=9">
IE9 + wird dies unterstützt,addEventListener
indem das "Ein" im Ereignisnamen wie folgt entfernt wird:quelle
Das Problem ist, dass der IE nicht über die Standardmethode verfügt
addEventListener
. IE verwendet seine eigene,attachEvent
die so ziemlich das gleiche tut.Eine gute Erklärung der Unterschiede und auch des 3. Parameters finden Sie im Quirksmode .
quelle