带有回调的DOM Dialogbox

时间:2012-11-18 10:21:25

标签: jquery html dom callback

我正在使用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();
}

0 个答案:

没有答案