[英]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.