2012-05-27 41 views
-3

在我的JavaScript代码的(这是太长了,所以我不能老是把它放在这里),功能都呼吁不止一次,比如假设:javascript函数调用时不止一次

$("#button").bind({ click : Call }); // bind the Call with button click event 

function Call() 
{ 
    alert("This message shows me more than once when i clicked the button"); 
} 

如果此警报消息显示我不止一次,这意味着功能Call()正在多次调用。任何人都可以猜测或告诉我我的代码中发生了什么? (请不要问我的代码)

+1

看不到任何问题在这里? **为你做了一个演示** http://jsfiddle.net/GRLs3/ –

+2

是不是'调用'也绑定到底层容器的'click'呢?还有......这可能与浏览器相关,所以 - 哪个浏览器? – Imp

+4

问题:“我的代码有问题,我不会发布任何真正的代码,但它就像'有些代码构成了这样的代码',”就像去找你的机械师,并说“我的车的发出一个有趣的噪音,我不打算让它看到它,但它与那里停放的那辆车是同一种汽车,听起来像是一辆在几分钟前在这里驾驶的汽车。有什么不对,还有多少解决办法?“ –

回答

1

工作对我来说:http://jsfiddle.net/aC8Bm/

我猜你是结合不止一次的地方更多。

此外,我建议要么从Call函数返回false,要么停止事件传播。

还有一件事:避免用大写命名函数 - 按照惯例为构造函数保留。

+0

感谢您的回复 – gaurav

1

您正在调用事件处理程序到按钮的次数“呼叫”被调用。你是否有像模板或部分文件这样的代码?

$("#button").bind({ click : Call }); 

将以下之外的某处:

0

而不是做这个的任何函数内的

$("#button").live("click", Call); 

它将绑定一次,所有现有的和不断增加#键