我的代码如下:
function OnApply(runFunc) {
$("#myCfmModal").modal('show');
$("#myCfmModal").find("#myCfmModalText").html("Apply change now?");
$("#myCfmModal").find("#myCfmModalHeader").css("background","#cccccc");
$("#myCfmModal").one('click', '#okbtn', runFunc);
}
function cool() {
alert("cool!");
}
我在运行上面的代码时遇到问题。我将OnApply(cool())
称为如下:
<button class="btn btn-success" onclick="OnApply(cool())">Apply</button>
OnApply(cool())
会显示一个模态框并运行一个函数cool()
。我想要做的是在单击模态框中的“确定”按钮时运行函数cool()
。但是,在单击“确定”按钮之前,cool()
函数将始终先运行。知道出了什么问题吗?
答案 0 :(得分:1)
问题是因为您将cool()
函数的结果传递给OnApply()
- 您需要通过删除尾部括号来传递对函数的引用。试试这个:
<button class="btn btn-success" onclick="OnApply(cool)">Apply</button>
答案 1 :(得分:0)
您可以使用&#34; runFunc
&#34;来呼叫click
JavaScript事件。
试试这个。
function OnApply(runFunc)
{
$("#myCfmModal").modal('show');
$("#myCfmModal").find("#myCfmModalText").html("Apply change now?");
$("#myCfmModal").find("#myCfmModalHeader").css("background","#cccccc");
$("#myCfmModal").find('#okbtn').click(functions(){
runFunc();
});
}
function cool()
{
alert("cool!");
}