简单的警报确认不工作

Simple alertify confirm not working

我正在一个普通的 JS 函数中实现一个简单的 alertify 确认。我在我的 HTML 中使用 onclick 属性来调用这个函数,然后它应该执行 alertify 代码,但是当我点击按钮时没有任何反应。此外,我为 alertify 找到的所有文档都完全排除了 HTML。所以也许我没有在 HTML 中正确实施它?此外,Chrome 的 JS 调试器中没有显示任何内容。所以,我至少正确地引用了库。

HTML

<button class="btn btn-primary" onclick="confirmButton()">Rebuild</button>  

JS

function confirmButton() {

    alertify.confirm("Are you sure?",
          function(){
            alertify.success('Yes');
          },
          function(){
            alertify.error('No');
          });
}

尝试像这样改变你的方法:

alertify.confirm("Are you sure?", function (e) {
  if (e) {
    alertify.success("Yes");
  } else {
    alertify.success("No");
  }
});

如果您愿意,可以通过以下方式修复它:

confirmButton = function() {
    alertify.confirm("Are you sure?",
          function(e){
                if(e){
                    alertify.success('Yes');
                } else {
                    alertify.success('No');
                }
          });
}

问题源于函数对调用者不可用。该修复程序通过使该功能在全球范围内可用来起作用。然而,内联 JS 通常是非常糟糕的做法,我建议 不要 使用它。事件处理程序是一种更好的做法,jQuery's click handler 在这里工作得很好:

 $(document).ready(function() {
      $('button.btn-primary').click(function(){
           alertify.confirm("Are you sure?",
                function(e){
                if(e){
                    alertify.success('Yes');
                } else {
                    alertify.success('No');
                }
          });
      });
 });