我有一些代码。当我点击按钮时,此代码返回确认窗口。一切工作。
但是,当我想点击按钮,用ajax加载时,确认窗口不会返回。
请帮我修复此代码。
$('.button').confirmOn({
questionText: 'Do you have a car?',
textYes: 'Yes',
textNo: 'No'
},'click', function(e, confirmed) {
if(confirmed){
alert('You clicked "Yes"');
}
});
答案 0 :(得分:0)
我不知道你是如何编写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"');
}
});
}
并在页面加载时为“.button”类调用此函数,该类未被ajax加载。
再次在ajax成功时调用此函数,以便它将附加由ajax调用呈现的“.button”。
但是在这种方法中你需要小心,因为你再次在ajax上成功调用这个函数它将在先前渲染的“.button”上附加2个事件。
要解决此问题,您可以先删除已经附加的内容,然后再以ajax成功附加它。例如。
$.ajax({
url: "some url",
success: function() {
$(".button").off("click");
attachConfirmation();
}
})
希望这对你有所帮助。