Javascript, преобразующий addEventListener в attachEvent - PullRequest
1 голос
/ 04 июля 2011

У меня есть следующий код, вызывающий функцию Javascript в блестящем, совместимом со стандартами порядке :).Обратите внимание, что я должен отправить elementsList[i] в функцию (это ключевое слово не будет адекватным), так как регистратор событий присоединяется к его племяннику (из-за отсутствия лучшего термина)

Этот довольно искаженный код будетэффективно найти элемент управления для динамического поведения текущего узла в elementsList [i] и добавить к нему прослушиватель событий щелчка.При запуске он передает выбранный узел в функцию переключения.

elementsList[i].previousSibling.lastChild.addEventListener
("click", (function(el){return function(){toggle(el)};})(elementsList[i]),false); 

Дело в том, что он вообще не работает с IE8 и ниже, и, несмотря на большую часть утра, пытаясь найти обходной путьЯ просто не могу заставить его играть в мяч.Если кто-то знает, как перевести это в код IE crapo, я был бы рад это увидеть.

Ответы [ 2 ]

2 голосов
/ 04 июля 2011

Вы пробовали

elementsList[i].previousSibling.lastChild.attachEvent
("onclick", (function(el){return function(){toggle(el)};})(elementsList[i]),false);
0 голосов
/ 04 июля 2011

2 потенциальных предложения.

1.) Включите jQuery в ваш проект и используйте их привязки событий x-browser (или mootools или какую-либо другую библиотеку)

2.) Не рекомендуется, сверните собственные привязки событий в x-browser

...