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 ()
可以完美解決 按鈕重復提交的狀況