1

我正在使用 YUI3 并且很难找到问题?

我有这个

YUI().use("modules",function(Y){  
    function Actionfunction(e){  
        //doing some stuff  
    }  
    Y.delegate("click",Actionfunction, "body","#myid li");  
});

当我单击 li 项目Actionfunction执行一次但第二次单击同一个 li 项目或其他 li 项目Actionfunction执行两次,依此类推。

每次点击 li 项目时,动作函数应该只执行一次。

4

3 回答 3

3

我怀疑委托订阅发生了两次。我会在添加订阅的代码中放置一个断点,看看它是否被调用以响应其他一些操作,或者响应第一次点击。

于 2013-01-07T22:52:39.900 回答
1

我将专门为此示例加载事件模块。我也会参考Y.Event.delegate().

这个(jsfiddle示例)有效并且更容易阅读和理解。

恐怕我无法解释为什么您的示例失败了,因为我无法复制它。

于 2013-01-07T21:03:28.833 回答
1

这里有答案 是问题

通过在语法前面注释来显示问题区域。

问:有什么问题?
A. 在每次调用 contextmenu 时,Y.delegate重新定义,因为单击 li 项时执行会增加

于 2013-01-08T06:03:57.933 回答