0

我正在实现一个简单的 alertify 确认,它位于常规 JS 函数中。我在我的 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');
          });
}
4

2 回答 2

1

如果你愿意,你可以通过这样做来修复它:

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

问题源于调用者无法使用该功能。该修复程序通过使该功能在全球范围内可用而起作用。但是,内联 JS 通常是非常糟糕的做法,我建议不要使用它。事件处理程序是一种更好的做法,jQuery 的点击处理程序在这里可以很好地工作:

 $(document).ready(function() {
      $('button.btn-primary').click(function(){
           alertify.confirm("Are you sure?",
                function(e){
                if(e){
                    alertify.success('Yes');
                } else {
                    alertify.success('No');
                }
          });
      });
 });
于 2015-08-03T19:38:09.397 回答
0

尝试像这样更改您的方法:

alertify.confirm("Are you sure?", function (e) {
  if (e) {
    alertify.success("Yes");
  } else {
    alertify.success("No");
  }
});
于 2015-08-03T19:37:38.207 回答