аналог 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, время: 21:38. |