Jquery:函数运行两次

时间:2010-10-01 03:18:39

标签: jquery

为什么我的jquery函数在点击时会运行两次?

$("a").click(processAction);

function processAction(e){
    var clicked = e.target;

//show apply button.

        $("#apply").live("click",function(e){
            e.stopPropagation();
            someFunction(clicked);
            alert("this the array " + mydata);
                clicked = "";
            }); 
}   

someFunction正在运行两次!

3 个答案:

答案 0 :(得分:6)

对于a元素的每次单击,都会向#apply-element添加一个单击处理程序。如果在a元素上单击3次,然后单击#apply,将运行三个不同的'someFunction'实例。

答案 1 :(得分:3)

.unbind(“click”)。bind(“click,somefunction”工作得很漂亮。

答案 2 :(得分:0)

如果您使用.live()将click事件附加到该特定锚点,则不必使用

将其他点击事件附加到锚点
$("a").click(processAction);

我不确定你是否故意将.live放在锚点击功能中,如果不是,你可以拔出.live()并与实际的点击功能分开。