MSIE und addEventListener Problem in Javascript?
document.getElementById('container').addEventListener('copy',beforecopy,false );
In Chrome /Safari, die oben ausgeführt wird die "beforecopy" - Funktion, wenn die Inhalte auf der Seite kopiert wird. MSIE soll um diese Funktionalität zu unterstützen, aber für einige Grund, warum ich immer diese Fehlermeldung:
"Objekt unterstützt diese Eigenschaft oder Methode nicht"
Nun, es ist mein Verständnis, dass der Internet Explorer nicht spielen mit dem body-Knoten, aber ich hätte gedacht, dass die Bereitstellung einer Knoten-ID würde funktionieren. Hat jemand irgendwelche Ideen, was ich falsch mache? Vielen Dank im Voraus.
** Bonus Punkte für alle, wer kann mir sagen was der 3. parameter "False" ist, ist gut für.
Kommentar zu dem Problem - Öffnen
Hier ist ein guter Artikel, der erklärt, die capture-phase und
useCapture
sehr gut: coding.smashingmagazine.com/2013/11/12/... InformationsquelleAutor der Frage Matrym | 2009-11-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Im IE, die Sie verwenden müssen,
attachEvent
eher als die standard -addEventListener ()
.Eine gängige Praxis ist, zu überprüfen, ob die
addEventListener
Methode verfügbar ist, und verwenden Sie es, sonst GebrauchattachEvent
:Können Sie eine Funktion, es zu tun:
Können Sie ausführen, ein Beispiel des obigen Codes hier.
Das Dritte argument von
addEventListener
istuseCapture
; wenn der Wert true zeigt an, dass der Benutzer wünscht, zu initiieren event capturing.InformationsquelleAutor der Antwort CMS
Falls Sie mit JQuery 2.x dann fügen Sie bitte die folgenden in der
Dieser arbeitete für mich.
InformationsquelleAutor der Antwort Aarif
Internet Explorer (IE8 und niedriger) nicht unterstützt
addEventListener(...)
. Es hat ein eigenes event-Modell mit derattachEvent
Methode. Sie könnte etwas code wie folgt:Aber ich empfehle die Vermeidung schreiben Sie Ihre eigene event-handling-wrapper und stattdessen ein JavaScript-framework (wie jQuery, Dojo, MooTools, YUI, Prototyp, etc) und vermeiden, dass Sie die Lösung für dieses Problem auf Ihrem eigenen.
Durch die Art und Weise, das Dritte argument in der W3C-Modell der Ereignisse hat zu tun mit der Unterschied zwischen bubbling und capturing-events. In fast jeder situation, werden Sie wollen, um Ereignisse zu behandeln, wie Sie sprudeln, nicht aber, wenn Sie sind gefangen. Es ist nützlich, wenn Ereignis-delegation auf Dinge wie "focus" Ereignisse für Textfelder, die nicht Blase.
InformationsquelleAutor der Antwort Dan Herbert
versuchen Sie,
direkt nach dem öffnenden head-tag
InformationsquelleAutor der Antwort 130nk3r5
Als der IE11, müssen Sie
addEventListener
.attachEvent
ist veraltet und wirft Fehler.InformationsquelleAutor der Antwort Will Mainwaring
Als PPK-Punkte aus hier, im IE können Sie auch
InformationsquelleAutor der Antwort magikMaker
Mit
<meta http-equiv="X-UA-Compatible" content="IE=9">
, IE9+ unterstütztaddEventListener
durch das entfernen der "auf" in den event-Namen, wie diese:InformationsquelleAutor der Antwort basiphobe
Das problem ist, dass der IE nicht der standard -
addEventListener
Methode. IE verwendet seine eigeneattachEvent
die nicht so ziemlich das gleiche.Gute Erklärung der Unterschiede, und auch über den 3. parameter gefunden werden können im quirksmode.
InformationsquelleAutor der Antwort Jani Hartikainen