2012-05-27 38 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); 

它將綁定一次,所有現有的和不斷增加#鍵