2011-07-04 83 views
1

我有一個jQuery單擊事件處理的問題。jQuery:多次檢測到Click事件

這裏是我的代碼:

$j("#btn_renommer_groupe").click(function(){ 
    document.forms['creation_edition_groupe'].reset(); 
    $j("#img_saisie_nom_groupe").hide(); 
    $j("input[name=creation_groupe]").css("background-color", "#f0f0f0"); 
    fun_renommer_groupe(); 
}) 

function fun_renommer_groupe(){ 
    alert('test'); 
} 

的問題是,當我點擊按鈕上的警示消息顯示多少時間。

有沒有人有一個想法,爲什麼發生這種情況?

編輯:

Thx爲您的答覆。我不能發佈所有的js文件(超過1000行),但這裏有兩個獨特的操作,我在此按鈕上做

$j("#btn_renommer_groupe").unbind('click'); 

$j("#btn_renommer_groupe").bind('click', function(){fun_renommer_groupe();}); 
+0

請[不要將簽名或標語添加到您的帖子](http://stackoverflow.com/faq#signatures)。 – meagar

+0

我不相信你。你在哪裏綁定這個點擊事件?請給我們完整的JavaScript。 – Tsar

+0

好的,沒問題。 –

回答

2

我認爲問題在於你將綁定點擊事件綁定到相同的控制方式太多次了。

$j("#btn_renommer_groupe").click(function(){ 
    ... 
    fun_renommer_groupe(); 
}) 

$j("#btn_renommer_groupe").bind('click', function(){fun_renommer_groupe();}); 

將導致fun_renommer_groupe()上btn_renommer_groupe單擊事件稱爲兩次,明白我的意思在這個例子:http://jsfiddle.net/DpCDh/

確保只將它綁定一次,然後排序!

+0

Thx作爲響應。我認爲這也是。我已經嘗試過「一個」事件,但沒有任何改變。我的代碼中有很多「綁定」。我想我會從一開始就看我的代碼。我用圖像替換了按鈕。他們沒有「禁用」屬性,所以我使用了「綁定」和「解除綁定」,是否有更好的解決方案? –

+0

什麼是解除點擊事件?如果你禁用一個按鈕,點擊事件不會觸發。 – Tsar

1

的代碼似乎是正確的......除了對於好奇的$ j(爲什麼你不使用簡單的$()或jQuery()?:P)

如果你不在循環某處...確保你沒有導入兩次你的腳本!

+0

我使用jquery_no_conflict.js腳本。我可以將Prototype與$和jQuery混合在一起,使用$ j –