la méthode addEventListener dans Internet Explorer
Ce qui est l'équivalent de l'Élément de l'Objet dans Internet Explorer 9?
if (!Element.prototype.addEventListener) {
Element.prototype.addEventListener = function() { .. }
}
Comment ça fonctionne dans Internet Explorer?
Si il existe une fonction égale à addEventListener
et je ne sais pas, expliquer s'il vous plaît.
Toute aide serait appréciée. N'hésitez pas à proposer d'une façon complètement différente de la résolution du problème.
- Si un navigateur implémente un prototype de l'héritage de ses objets DOM n'est pas pertinent pour déterminer si elle prend en charge le W3C EventTarget interface. Si vous souhaitez tester de soutien, de tester directement:
if(element.addEventListener) {/*supported*/} else {/*not supported*/}
est efficace dans tous les navigateurs et est indépendant de la mise en œuvre.
Vous devez vous connecter pour publier un commentaire.
addEventListener
est la bonne DOM de la méthode à utiliser pour la fixation des gestionnaires d'événements.Internet Explorer (version 8) a utilisé une autre
attachEvent
méthode.Internet Explorer 9 prend en charge la bonne
addEventListener
méthode.Les éléments suivants doivent être une tentative d'écrire un cross-browser
addEvent
fonction."on"+
.John Resig, auteur de jQuery, a présenté sa version de croix-navigateur de mise en œuvre de
addEvent
etremoveEvent
de contourner les problèmes de compatibilité avec IE incorrecte ou inexistanteaddEventListener
.Source: http://ejohn.org/projects/flexible-javascript-events/
this
.Je suis à l'aide de cette solution et travaille dans IE8 ou plus.
Et puis:
Cela fonctionnera IE8 et Chrome, Firefox, etc.
Comme Delan a dit, vous voulez utiliser une combinaison de la méthode addEventListener pour les versions plus récentes, et attachEvent pour les plus âgés.
Vous trouverez plus d'informations sur les écouteurs d'événement sur MDN. (Remarque il y a quelques mises en garde avec la valeur de 'cette' dans votre auditeur).
Vous pouvez également utiliser un framework comme jQuery abstraites de la gestion des événements tout à fait.
Voici quelque chose pour ceux qui aiment les belles code.
Sans vergogne volé Iframe-Resizer.
addEventListener
est pris en charge à partir de la version 9 ans; pour les versions plus anciennes, utilisez le peu similaireattachEvent
fonction.MODIFIER
J'ai écrit un bout de code imiter l'interface EventListener et la ie8, est exigible, même sur des objets simples:
https://github.com/antcolag/iEventListener/blob/master/iEventListener.js
VIEILLE RÉPONSE
c'est une façon pour imiter la méthode addEventListener ou attachEvent sur les navigateurs qui ne supportent pas l'un de ces
espérons, aidera à
Je voudrais utiliser ces polyfill https://github.com/WebReflection/ie8