Document

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

可以完美解决 按钮重复提交的状况

 

posted @ 2021-06-24 09:58  苏什么苏  阅读(1252)  评论(0编辑  收藏  举报