2010-10-11 14 views

Répondre

1

Il renvoie une valeur false (bien que pas réellement false) si elle n'est pas définie. Il s'agit d'un test feature (AKA object) detection standard.

Vous pouvez le modifier en implémentant votre propre version. Plus généralement, vous utiliserez ceci dans une fonction wrapper avec le } else { ayant la manipulation spécifique d'IE.

7

if (document.addEventListener) évalue à false s'il n'y a aucune méthode addEventListener dans document. Cette vérification est généralement effectuée pour voir si vous pouvez utiliser cette méthode pour attacher l'événement à l'élément DOM (fonctionne dans la plupart des navigateurs sauf IE).

Y a-t-il un moyen de changer cela?
Cette question ne me comprends pas complètement. Probablement, vous voulez quelque chose comme document.attachEvent('onload', callback); pour IE. Vous ne pouvez pas vraiment ajouter la méthode addEventListener pour documenter (bien, peut-être que vous pouvez, mais cela n'aurait pas de sens).

Docs for addEventListener

+0

je veux dire est-ce que je peux faire quelque chose pour ajouter cette méthode au document? – Miroo

+0

@Miroo Non, mais vous pouvez utiliser la méthode spécifique à IE pour gérer les événements. (comme 'onload' dans mon exemple) –

+0

et il fonctionne avec moi sur IE9 mais sur une application différente sous la structure 4 – Miroo

2

Si cet extrait de code retourne false, cela signifie que la propriété méthode addEventListener est pas en charge par le navigateur. Tel est le case for Internet Explorer, où attachEvent est utilisé à la place:

if (document.addEventListener){ 
    document.addEventListener(...); 
} else if (document.attachEvent){ 
    document.attachEvent(...); 
} 
+0

J'essaye d'employer ceci pour ajouter un thumbBarButtons sur IE9 et j'ai essayé l'attachvent et cela n'a pas fonctionné: S et tous les exemples de code n'ont pas mentionné que nous pouvons employer pour attacher l'événement 'msthumbnailclick' – Miroo

+0

IE9 soutient addEventListener – kennebec