2013-11-21 44 views
0

您好我有以下的一段是給我怪異的行爲的點擊一個按鈕裏面JS函數被調用兩次

$("#cont_btn").click(function() { 
    $("#cont_btn").attr('disabled', 'disabled'); 
    selRowIds = $("#CodeGrid").jqGrid('getGridParam', 'selarrrow'); 
    rowsToJson(selRowIds); 
    //return false; 
}); 

按鈕cont_btn是自舉模式2的按鈕的代碼。它包含一個繼續按鈕和一個關閉按鈕。

如果我選擇關閉按鈕或在模式外單擊以解除它,然後重新打開模式,該功能將被調用兩次。

我一直在使用

.one('click', function() { ... } 

試過,我已經把破發點上的
$("#cont_btn").click(...

點擊行不獲取調用兩次。在我調試我發現劇本再上

$("#cont_btn").attr('disabled', 'disabled'); 

線在頁面加載我看到的

$("#cont_btn").click(function() { 

線被擊中進入,但代碼不進入功能它會跳到關閉按鈕。我認爲這是兩個按鈕被初始化的監聽器?

使用谷歌搜索這個建議檢查腳本沒有被調用兩次,並使用返回false,但沒有任何工作。

任何幫助表示讚賞。

+6

您做了一個boo-boo,事件處理函數在打開模式的函數內部,所以每次打開模式時,事件處理函數都會再次綁定。 – adeneo

+0

@adeneo我正在寫相同的東西。 –

+0

謝謝我現在就修復這個問題並回報 –

回答

2

事件處理函數在打開模式的函數中,所以每次打開模式時,都會再次綁定事件處理函數。

相關問題