第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我這段bootstrap代碼生成的Modal對話框,會被執(zhí)行數次

我這段bootstrap代碼生成的Modal對話框,會被執(zhí)行數次

函數式編程 2018-11-07 13:13:22
html代碼     <button type="button" class="btn btn-primary btn-sm" data-toggle="modal" data-target="#dialog" data-action="add">添加</button>當點擊添加按鈕后,會先執(zhí)行alert('1'),然后彈出對話框,我關閉對話框之后,再點擊添加,那么這次的alert('1')會被執(zhí)行兩次,也就是說我會收到2次警告框,但是modal對話框會等alert('1')執(zhí)行完畢了彈出。如果再關掉Modal對話框,再點擊按鈕,會執(zhí)行3次alert('1'),以此類推。那我是不是可以理解為,以下代碼會因為點擊按鈕的次數而被執(zhí)行多次。     case 'add':         modal.find('.modal-dialog').addClass('modal-lg');         modal.find('.modal-title').text('添加用戶');         modal.find('.modal-body').html('這里是表單');         modal.find('.modal-footer button[type="submit"]').removeClass('btn-danger').addClass('btn-primary').text ('添加');         alert('1'); //測試       break;那么,我應該如何解決這個問題?
查看完整描述

1 回答

?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

其實還可以這么解決,,我不是搞前端的,但是這種問題遇見過

第一種:把事件放到click事件外去定義

$('*[data-target="#dialog"]').click(function(){

    createDialog();

})

$(document).on('show.bs.modal','#dialog', function (event) {

    var button = $(event.relatedTarget);

    var action = button.data('action');

    var modal = $(this);

    console.log(action);

    switch(action)

    {

        case 'add':

            modal.find('.modal-dialog').addClass('modal-lg');

            modal.find('.modal-title').text('添加用戶');

            modal.find('.modal-body').html('這里是表單');

            modal.find('.modal-footer button[type="submit"]').removeClass('btn-danger').addClass('btn-primary').text ('添加');

            alert('1'); //測試

            break;

    }

})

$(document).on("hidden.bs.modal","#dialog", function() {

    $(this).removeData("bs.modal");

})

第二種: 先移除事件再綁定事件

$('*[data-target="#dialog"]').click(function(){

    createDialog();

    $('#dialog').off('show.bs.modal').on('show.bs.modal', function (event) {

        var button = $(event.relatedTarget);

        var action = button.data('action');

        var modal = $(this);

        switch(action)

        {

            case 'add':

                modal.find('.modal-dialog').addClass('modal-lg');

                modal.find('.modal-title').text('添加用戶');

                modal.find('.modal-body').html('這里是表單');

                modal.find('.modal-footer button[type="submit"]').removeClass('btn-danger').addClass('btn-primary').text ('添加');

                alert('1'); //測試

                break;

        }

    });

    //關閉對話框后清除modal中數據

    $("#dialog").off("hidden.bs.modal").on("hidden.bs.modal", function() {

        $(this).removeData("bs.modal");

    });

})


查看完整回答
反對 回復 2018-12-12
  • 1 回答
  • 0 關注
  • 534 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號