2010-10-22 4 views
2

я определил метод FadeIn для объектаНаследование метод объекта в IE


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

.... 

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

Он работает в FF, Opera, Chrome, но отчеты IE «Объект не поддерживает это свойство или метод» при попытке запуска FadeIn. Почему IE не наследует мои методы от Object и как его исправить?

ответ

3

В IE узлы DOM не наследуются от Object.prototype. Они не обязаны; как объекты-хосты (т. е. объекты, предоставляемые средой), они могут по существу делать то, что им нравится. Рекомендую прочитать Juriy Zaytsev's excellent article about extending the DOM.

Самое простое решение написать функцию, которая принимает элемент в качестве параметра:

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

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

спасибо за ссылку – Yrgl

Смежные вопросы