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");
});
})
添加回答
舉報