2014-02-05 41 views
0

我有一個網站上的一個頁面,其中一個用戶配置文件驗證面板一個超級用戶必須手動驗證點擊按鈕(即HTML跨度)。搜索建議理解爲什麼一個jQuery click()函數被觸發多次

我使用跨度上的click() jQuery函數來捕捉事件。第一次,點擊正常附加。在第二次點擊它被觸發兩次,在第三次點擊運行3次,等

下面是一些代碼:

$(document).ready(function() { 
    $('span.button-validate').unbind("click").click(function(e) { 
     e.preventDefault(); 
     e.stopPropagation(); 

     console.log("click"); // This is logged 1, then 2, then 3, etc. 

     // complex code here, including AJAX... 

    }); 
}); 

我喜歡固定的JS錯誤或404個文件的任何問題。

我使用jQuery 1.7.2和jQueryUI 1.8.21。

無法從@CKGrafico用jsfiddle顯示的這個非常簡單的實例中重現問題。將盡快改進它。

+0

任何問題,你有什麼Ajax代碼在做什麼?這是我首先檢查的地方。 – Jasen

+0

你有沒有嘗試拆分執行unbind和綁定?我不確定你是否可以連鎖。 – semao

+0

@Jasen ajax通過'load'函數發送一個uri,它觸發一個返回狀態的JSP頁面 – smonff

回答

1

你能給我更多的信息嗎?我看不到的jsfiddle

$(document).ready(function() { 
    $('span').on('click', function(e) { 
     e.preventDefault(); 
     e.stopPropagation(); 

     console.log("click"); // This is logged 1, then 2, then 3, etc. 

     // complex code here, including AJAX... 

    }); 
}); 

http://jsfiddle.net/v5c2K/

+0

的確,謝謝。不知道如何簡化代碼的複雜性。我會盡快改進小提琴。 – smonff

+0

這個問題來自地獄的嵌套'$(document).ready()'的糟糕使用。抱歉。 – smonff

相關問題