解決 Jquery 一個點擊事件觸發多次


1: 首先我們遇到的問題: 如下圖

 

$("#save").click(function () {
    var new_permission = transfer.getData('index'); //獲取右側數據

    $.ajax({
        type: 'POST',
        url: '/system_save_permission/',
        async: false,
        data: {
            'page_type': pageType_url,
            'column_data': JSON.stringify(column_data),
            'new_permission': JSON.stringify(new_permission),
        },
        success: function (data) {
            $("#authority_modal > div > div > div.modal-header > button > span").trigger('click')
            insert_alert(data['result'], data['info'], sel_alert_div, '', 3);
        }
    });
})

 

我們做了一個按鈕提交的點擊事件: 測試之后呢! 發現 只有按鈕的 click 事件被觸發了多次。。。

經過測試原來的代碼是沒有任何問題的,但是在查找問題的時候發現,點擊保存  在點擊確認框取消這個過程會讓click在時間上有一個積累,也就是說你點擊一次發送就觸發一次click事件,就是你點擊取消幾次就會提交幾次。這里很奇怪,明明沒有觸發#save綁定的click事件怎么會提交幾次。這就是click事件在時間上的積累造成的。

解決方法:將

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

這句代碼修改為 $('#save').unbind('click').bind('click',function ()

可以完美解決 按鈕重復提交的狀況

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM