2010-10-22 3 views
2

J'ai méthode définie fadeIn pour objethéritage Méthode objet dans IE


Object.prototype.fadeIn = function(d, callback) { //some code here }; 

.... 

var b = documentGetElementById('b1'); // <div id="b1"></div> 
b.fadeIn(); 

Il travaille en FF, Opera, Chrome, mais IE rapports « L'objet ne prend pas en charge cette propriété ou méthode » lorsque je tente lancement fadeIn. Pourquoi IE n'hérite pas mes méthodes d'Object et comment le réparer?

Répondre

3

Dans IE, les noeuds DOM n'héritent pas de Object.prototype. Ils ne sont pas obligés de; En tant qu'objets hôtes (c'est-à-dire objets fournis par l'environnement), ils peuvent essentiellement faire ce qu'ils veulent. Je recommande de lire Juriy Zaytsevexcellent article about extending the DOM.

La solution simple est d'écrire une fonction qui accepte un élément comme paramètre:

function fadeIn(el, d, callback) { 
    // Implementation code 
} 

var b = document.getElementById('b1'); 
fadeIn(b); 
+0

merci pour le lien – Yrgl

Questions connexes