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