Javascript按钮OnClick回调

时间:2016-11-24 12:06:37

标签: javascript asynchronous callback

我尝试使用自己的样式模式模拟confirm()功能。我有一个回调函数:

function confirmChanges(callback) {

    function clickOkay() {
        callback(true);
    }

    function clickCancel() {
        callback(false);
    }
}

这部分是我需要confirmChanges函数返回true / false的地方:

if (unsavedChanges == true) {
    j$('.confirm').showModal();
    if (confirmChanges(function(result) {return result;})) 
    {
        // Do stuff and return true
    } 
    else 
    {
        return false;
    }
}

这是我用于模式的HTML:

<div class="warningpop confirm">

    <h3>Unsaved Changes!</h3>                         
    <a id="modalContinue" value="Continue" onclick="clickOkay();"/>  
    <a id="modalCancel" value="Cancel" onclick="clickCancel();"/>   

</div>

然而,当我单击对话框中的按钮时,我收到错误&#34; clickCancel()/ clickOkay()未定义&#34;。

如何根据点击的按钮修复它以使其返回true或false?

1 个答案:

答案 0 :(得分:2)

这是你想要的还是我弄错了?请随时查询。

&#13;
&#13;
function getResponse(res, func) {
  
  if(res) {
    console.log(1);
    //do something
  } else {
    console.log(2);
    //do otherthing
  }
  
  /* If tou want to call some other function dynamically. */
  
  func();
}

function one() {
  console.log("calling function one");
}

function two() {
  console.log("calling function two");
}
&#13;
<div class="warningpop confirm">

    <h3>Unsaved Changes!</h3>                         
    <a id="modalContinue" value="Continue" onclick="getResponse(true, one);">Yes </a>  
    <a id="modalCancel" value="Cancel" onclick="getResponse(false, two);">No </a>

</div>
&#13;
&#13;
&#13;