1

我有以下代码以一种很好的符合标准的方式调用 Javascript 函数:)。请注意,我必须发送elementsList[i]到函数(this 关键字不合适),因为事件侦听器被附加到它的侄子(因为需要更好的术语)

这个相当混乱的代码将有效地在 elementsList[i] 中找到当前节点的动态行为的控制元素,并为其添加一个单击事件侦听器。触发时,它将单击的节点传递给切换功能。

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

问题是它在 IE8 及以下版本中根本不起作用,尽管花了大部分时间试图找到解决方法,但我还是无法让它发挥作用。如果有人知道如何将其翻译成 IE 废话代码,我将不胜感激。

4

2 回答 2

2

你有没有尝试过

elementsList[i].previousSibling.lastChild.attachEvent
("onclick", (function(el){return function(){toggle(el)};})(elementsList[i]),false);
于 2011-07-04T12:47:28.917 回答
0

2个潜在的建议。

1.) 在您的项目中包含jQuery并使用它们的 x-browser 事件绑定(或mootools或其他一些库)

2.) 不那么推荐,滚动你自己的 x-browser 事件绑定

于 2011-07-04T12:48:20.833 回答