Показать сообщение отдельно
  #8 (permalink)  
Старый 03.06.2009, 13:13
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

Не внимательно прочитал, да назначение обработчиков здесь не причем.

Так как в IE6,7 нельзя добавить свой метод в прототип HTMLElement, то используют обёртки.
function F(node) {
     this.node = node;
}

F.prototype = {
     show: function() {
        this.node.style.display = 'block';
     },
     hide: function() {
        this.node.style.display = 'none';
     }
};

Используют так:
var obj = new F(document.getElementById('…'));

obj.show();
obj.hide();

obj.node // – ссылка на узел


Чтобы не писать каждый раз new, можно добавить что-то вроде такого:
function $(arg) {
      return new F(typeof arg == 'string' ? document.getElementById(arg) : arg);
}


Используем:
var obj = $('…');

obj.hide()

…
Ответить с цитированием