1. 程式人生 > 其它 >解決 Jquery 一個點選事件觸發多次

解決 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 ()

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