Y.delegate在第二次点击时执行两次。怎么停?

时间:2013-01-07 17:29:16

标签: yui yui3

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

我有这个

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

当我点击li项动作功能执行一次,但第二次点击同一项目或其他项目动作功能执行两次,依此类推。

每次点击li项目时,

动作功能只能执行一次。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:1)

我会专门为此示例加载Event模块。我还会提到Y.Event.delegate()

This (jsfiddle example)有效,易于阅读和理解。

我恐怕无法解释为什么你的例子失败了,因为我无法重现它。

答案 2 :(得分:1)

得到了答案 here is the problem

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

Q值。出了什么问题?
A.在每次调用contextmenu时,Y.delegate重新定义,因为点击li项目后执行会增加