Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.12.2008, 14:16
Новичок на форуме
Отправить личное сообщение для Researcher Посмотреть профиль Найти все сообщения от Researcher
 
Регистрация: 20.12.2008
Сообщений: 2

аналог HTMLElement в IE?
Здравствуйте, помогите пожалуйста разобраться в вопросе...
Задача:
определить во всех элементах DOM одинаковый метод.

В Opere и FF можно сделать так:
HTMLElement.prototype.testMethod = function() { alert("test"); }
document.body.testMethod();

В IE так сделать не получается из-за отсутствия в нем определения HTMLElement, более того, если определить метод в Object.prototype, то в этом же браузере его не будет в элементах дерева, в остальных браузерах все нормально...

Вопрос, собственно, заключается в том, есть ли аналог HTMLElement в IE, или, возможно, какой-то другой способ реализации данной задачи кроме непосредственного определения метода в каждом элементе дерева?

Заранее спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 20.12.2008, 14:28
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

В IE ниже 8-й версии так сделать нельзя, используйте функцию-обёртку:
function F(node) {
  this.node = node;
}

F.prototype = {
   method: function(…) {
       alert(this.node.tagName);
   },
   method1: …,
   method2: …,
   attr1: …,
   attr2: …
};

var obj = new F(document.getElementById(…));
obj.method(…);
Ответить с цитированием
  #3 (permalink)  
Старый 21.12.2008, 02:45
Новичок на форуме
Отправить личное сообщение для Researcher Посмотреть профиль Найти все сообщения от Researcher
 
Регистрация: 20.12.2008
Сообщений: 2

Ну, в принципе, я так и предполагал, жаль... Ну ладно, будем выкручиваться с тем, что есть, спасибо
Ответить с цитированием
  #4 (permalink)  
Старый 10.04.2011, 14:04
Новичок на форуме
Отправить личное сообщение для vladkras Посмотреть профиль Найти все сообщения от vladkras
 
Регистрация: 07.04.2010
Сообщений: 9

behavior в IE
даже начиная кажется с IE5 это возможно с помощью behaviors:

через css добавляется свойство
Код:
{bahavior:url(myfile.htc);}
нужным вам элементам

синтаксис myfile.htc:
Код:
<PUBLIC:COMPONENT>
<PUBLIC:ATTACH EVENT="onclick"  ONEVENT="someFunc()" />
<SCRIPT LANGUAGE="JScript">
    function someFunc()
    {
        //код для выполнения
    }
</SCRIPT>
</PUBLIC:COMPONENT>
тут все просто, прикрепляете к нужному событию функцию (PUBLIC:ATTACH может быть несколько)

можно использовать Jscript или VBScript, но я пользовался только первым, поэтому про второй ничего сказать не могу

оригинал статьи на MSDN

Последний раз редактировалось vladkras, 10.04.2011 в 17:23.
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Аналог WYSIWYG Aristarco Общие вопросы Javascript 3 09.11.2008 19:57
Аналог книги Simply JavaScript twolf Общие вопросы Javascript 2 20.07.2008 13:04