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 ()
可以完美解决 按钮重复提交的状况