我的代码如下:

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() 。我想要做的是当我单击模式框中的 OK 按钮时运行函数 cool() 。但是 cool() 函数将始终在我单击 OK 按钮之前首先运行。知道出了什么问题吗?

最佳答案

问题是因为您将 cool() 函数的结果传递给 OnApply() - 您需要通过删除尾括号来传递对该函数的引用。试试这个:

<button class="btn btn-success" onclick="OnApply(cool)">Apply</button>

关于Javascript bootstrap 模态调用函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29624245/

10-13 00:37