为了账号安全,请及时绑定邮箱和手机立即绑定

bootstrap 中的 modal 模糊框如何获取点击按钮事件?

bootstrap 中的 modal 模糊框如何获取点击按钮事件?

函数式编程 2019-03-04 13:14:17
我自己封装了一个js函数!使用起来有些问题,我设定了callback,会随着点击次数的增加,执行次数也会增加,不知道是什么原因!js封装的函数showConfirm(title , content , showCancel , success , cancel)    {        showCancel = showCancel === false ? showCancel : true;        $('#showModal .modal-title').text(title);        $('#showModal .modal-body').text(content);        if(!showCancel)        {            $('#showModal .cancel').hide();        }        $('#showModal .cancel').eq(0).click(cancel);//取消按钮DOM        $('#showModal .success').eq(0).click(success);//确定按钮DOM        $('#showModal').modal();    }前端调用<button class="btn btn-info btn-sm" onclick="test()">test</button><script>        function test()        {            pages.showConfirm('测试','测试内容',true,function(){                console.log(1);            },function(){                console.log(2);            })        }    </script>console.log中打印的次数会随着点击次数不断递增!
查看完整描述

1 回答

?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

你的<button>里用的是onclick="test()",也就是每点击一次,都会去执行test()函数,然后每次test()执行的内容showConfirm当中都会去注册一次.cancel和.success的click事件——输出1|2,也就是每点击一次,就多注册一次,然后多输出一次1|2。你可以去掉button当中的onclick="test()",然后这么写:


<button class="btn btn-info btn-sm" id="test_button">test</button>


<script>

    $('#test_button').click(showConfirm('测试','测试内容',true,function(){

        console.log(1);

    },function(){

        console.log(2);

    }));

</script>

这样你的button只注册一次点击事件即可。

希望能帮助到你。


查看完整回答
反对 回复 2019-03-27
  • 1 回答
  • 0 关注
  • 389 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信