аналог HTMLElement в IE?
Здравствуйте, помогите пожалуйста разобраться в вопросе...
Задача: определить во всех элементах DOM одинаковый метод. В Opere и FF можно сделать так:
HTMLElement.prototype.testMethod = function() { alert("test"); }
document.body.testMethod();
В IE так сделать не получается из-за отсутствия в нем определения HTMLElement, более того, если определить метод в Object.prototype, то в этом же браузере его не будет в элементах дерева, в остальных браузерах все нормально... Вопрос, собственно, заключается в том, есть ли аналог HTMLElement в IE, или, возможно, какой-то другой способ реализации данной задачи кроме непосредственного определения метода в каждом элементе дерева? Заранее спасибо :) |
В 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(…);
|
Ну, в принципе, я так и предполагал, жаль... Ну ладно, будем выкручиваться с тем, что есть, спасибо :)
|
behavior в IE
даже начиная кажется с IE5 это возможно с помощью behaviors:
через css добавляется свойство Код:
{bahavior:url(myfile.htc);}синтаксис myfile.htc: Код:
<PUBLIC:COMPONENT>можно использовать Jscript или VBScript, но я пользовался только первым, поэтому про второй ничего сказать не могу оригинал статьи на MSDN |
| Часовой пояс GMT +3, время: 02:59. |