我希望我能很好地解释我的自我。我想创建一个具有参数的函数,其中一个参数是 jQuery 函数,该函数将在调用原始函数后创建的元素事件上执行(它与对话框非常相似)。这是我正在尝试做的代码:
function messageBox(messageOptions) {
var default_args = {
'header': null,
'text': null,
'acceptButtonText': 'ok',
'acceptButtonOnClickFunction': null,
'cancelButtonText': 'cancel',
'cancelButtonOnClickFunction': function() {
$('#cancel_message_box_div_button_span').click(function() {
$('.greyBackground').remove();
})
}
};
for (var index in default_args) {
if (typeof messageOptions[index] == "undefined") messageOptions[index] = default_args[index];
}
putGrayBackground();
var messageBoxElement = '<div class="messageBoxDiv">';
messageBoxElement += '<legend class="messageBoxDivHeader">';
messageBoxElement += messageOptions.header;
messageBoxElement += '</legend>';
messageBoxElement += '<div class="messageBoxDivText">';
messageBoxElement += messageOptions.text;
messageBoxElement += '</div>';
messageBoxElement += '<div class="messageBoxDivButtons">';
messageBoxElement += '<div id="cancel_message_box_div_button_span" class="messageBoxDivButtonSpan">';
messageBoxElement += messageOptions.cancelButtonText;
messageBoxElement += '</div>';
messageBoxElement += '</div>';
messageBoxElement += '</div>';
$('.greyBackground').append(messageBoxElement);
}
该代码假设创建一个具有跨度的元素,单击该跨度时将调用“cancelButtonOnClickFunction”参数下的函数。如您所见,有默认参数,其中之一是“cancelButtonOnClickFunction”。在我创建了添加它的元素之后,我认为它不起作用,因为在创建元素之前调用了“cancelButtonOnClickFunction”内部函数。我会问如何使它工作。