当按下是按钮时,我想在 jQuery 对话框中调用一个函数作为参数。我正在使用以下代码,但这不起作用。
function showYesNoAlertMsg(divId,optFunction){
//window[optFunction].apply(null, Array.prototype.slice.call(arguments, 2));
$('#'+divId).dialog('open');
$('#'+divId).dialog({
autoOpen: true,
width: 400,
height: 175,
modal: true,
resizable: false,
buttons: {
"Yes": function() {
window[optFunction].apply(null,
Array.prototype.slice.call(arguments, 2));
$(this).dialog("close");
},
"No": function() {
$(this).dialog("close");
}
}
});
}
function newfunc(a,b){
alert(a+'--'+b);
}
<input type="button" name="alert" id="alert"
onclick="showYesNoAlertMsg('boxDivId','newfunc','aaaaa','bbbbb');"/>
<div id="boxDivId">
hello
</div>
当我单击名为“alert”的按钮时,该函数showYesNoAlertMsg
被调用,它完美地显示了 id 为“boxDivId”的对话框,但我想在“是”按钮上调用名为“newFunc”的函数。我将此函数作为参数传递,但它在对话框属性中不起作用。如果我取消注释中的第一个注释行showYesNoAlertMsg
,则此行可以正常工作并完美地调用函数“newFunc”。但同一行在“是”按钮中不起作用。请告诉我。
谢谢