繁体   English   中英

jQuery插件确认与live()一起使用

[英]jquery plugin confirmOn use with live()

我有一些代码。 当我单击按钮时,此代码返回确认窗口。 辛苦了

但是,当我要单击随ajax加载的按钮时,请确认窗口未返回。

请帮助我修复此代码。

 $('.button').confirmOn({
            questionText: 'Do you have a car?',
            textYes: 'Yes',
            textNo: 'No'
        },'click', function(e, confirmed) {
            if(confirmed){
               alert('You clicked "Yes"');
            }
        });

我不知道您是如何编写ajax函数的,但是我假设您正在为此使用jQuery。 如果是,那么您可以将函数移入某些包装函数,例如。

function attachConfirmation() {
  $('.button').confirmOn({
        questionText: 'Do you have a car?',
        textYes: 'Yes',
        textNo: 'No'
    },'click', function(e, confirmed) {
        if(confirmed){
           alert('You clicked "Yes"');
        }
    });
}

并在页面加载时为ajax加载未加载的“ .button”类调用此函数。

再次在ajax成功时调用此函数,以便它将附加由ajax调用呈现的“ .button”。

但是在这种方法中,您需要谨慎,因为在ajax成功时再次调用此函数,它将在先前呈现的“ .button”上附加2个事件。

为了解决这个问题,您可以先删除已经连接的附件,然后再以ajax成功的方式再次附加它。

$.ajax({
   url: "some url",
   success: function() {
     $(".button").off("click");
     attachConfirmation();
   }
})

希望对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM