我正在使用Dom(HTML / CSS / JavaScript / jQuery)创建自定义对话框。这些对话框有按钮,这些按钮应该有一些函数,包含在引发某些特定事件时要执行的指令(onClick ...)。
要调用这些对话框,我创建了一个绘制函数(showMessaging(MsgText, Msgtitle, ClickCallback)
)。这些函数有一些回调(ClickCallback
)由这些按钮执行,但是当我调用函数(showMessaging
)并传递给它时,某些事件被引发时,这些按钮会执行某些函数,执行回调而不是函数(showMessaging
)。
这是代码。
function showMessagingWarning(sMessage, sTitle, callbackYes) {
//Reference
var overlay = $('<div>').addClass('wb_boxOverlay1_');
if ($('.wb_boxOverlay1_').length > 0) {
$('.wb_boxOverlay1_').remove();
}
$('body').prepend(overlay);
var msgBox = $('.wx_dialog_boxes'); //boite de message
var msgIcon = $('.wb_msg_icon_displ'); //icone de la boite de message
var msgTitle = $('.wb_ms_title_content'); //titre de la boite de dialogue
var msgContent = $('.wb_msg_message'); //Contenu du message
var btnNo = $('.wb_msg_box_button_no');
var btnYes = $('.wb_msg_box_button_yes');
var btnCancel = $('.wb_msg_box_button_cancel');
var btnClose = $('.wb_msg_close_lnk');
//setting up the class
var tclass = "wb_dlg_warning";
//Display buttons
btnNo.css('display', 'none');
btnCancel.css('display', 'none');
btnYes.css('display', 'inline-block').children('span').text('OK');
//ajout des variables
msgIcon.addClass(tclass);
msgTitle.text(sTitle);
msgContent.text(sMessage);
btnClose.bind('click', '', function () {
$('.wb_boxOverlay1_').remove();
$('.wx_dialog_boxes').fadeOut();
});
if (callbackYes) {
btnYes.bind('click', '', callbackYes);
}
btnYes.bind('click', '', function () {
$('.wb_boxOverlay1_').remove();
$('.wx_dialog_boxes').fadeOut();
});
msgBox.show();
}