Javascript bootstrap模态调用函数

时间:2015-04-14 09:51:50

标签: javascript jquery html css twitter-bootstrap

我的代码如下:

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()函数将始终先运行。知道出了什么问题吗?

2 个答案:

答案 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!");
}