在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問(wèn)答/HTML/ bootstrap 中的 modal 模糊框如何獲取點(diǎn)擊按鈕事件?

bootstrap 中的 modal 模糊框如何獲取點(diǎn)擊按鈕事件?

我自己封裝了一個(gè)js函數(shù)!
使用起來(lái)有些問(wèn)題,我設(shè)定了callback,會(huì)隨著點(diǎn)擊次數(shù)的增加,執(zhí)行次數(shù)也會(huì)增加,不知道是什么原因!

js封裝的函數(shù)

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();
    }

前端調(diào)用

<button class="btn btn-info btn-sm" onclick="test()">test</button>

<script>
        function test()
        {
            pages.showConfirm('測(cè)試','測(cè)試內(nèi)容',true,function(){
                console.log(1);
            },function(){
                console.log(2);
            })
        }
    </script>

console.log中打印的次數(shù)會(huì)隨著點(diǎn)擊次數(shù)不斷遞增!

回答
編輯回答
帥到炸

你的<button>里用的是onclick="test()",也就是每點(diǎn)擊一次,都會(huì)去執(zhí)行test()函數(shù),然后每次test()執(zhí)行的內(nèi)容showConfirm當(dāng)中都會(huì)去注冊(cè)一次.cancel和.success的click事件——輸出1|2,也就是每點(diǎn)擊一次,就多注冊(cè)一次,然后多輸出一次1|2。你可以去掉button當(dāng)中的onclick="test()",然后這么寫:

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

<script>
    $('#test_button').click(showConfirm('測(cè)試','測(cè)試內(nèi)容',true,function(){
        console.log(1);
    },function(){
        console.log(2);
    }));
</script>

這樣你的button只注冊(cè)一次點(diǎn)擊事件即可。
希望能幫助到你。

2017年12月29日 12:53