我想在每次更新成功时调用一个函数。更新工作正常,我唯一关心的是每次成功更新时都会弹出警报。
$.post(
{
url: 'update_question.php',
data:
{
id: id,
new_question: newText,
},
success: function()
{
that.replaceWith("<section>"+newText+"</section>");
if(text != newText)
{
popup();
}
}
});
var popup = function () {
$(document).ready (function(){
$("#myWish").click(function showAlert() {
$("#success-alert").alert();
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").alert('close');
});
});
});
};
答案 0 :(得分:0)
$(document).ready
jquery函数在执行包含在其函数范围{}中的javascript代码之前等待DOM加载到浏览器中。
从代码中删除$(document).ready
。
另请注意,单页应用程序只需要列出$(document).ready
一次,并且您设置的所有侦听器事件都在其正文中定义。
所以你应该至少在某个地方列出一次,然后在你的体内定义所有的初始事件监听器。
答案 1 :(得分:0)
var popup = function () {
$("#success-alert").alert();
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").alert('close');
});
};
在第一次更新时,弹出窗口显示但未在第二次更新中显示
答案 2 :(得分:0)
我认为它会解决你的问题
$.post(
{
url: 'update_question.php',
data:
{
id: id,
new_question: newText,
},
success: function()
{
that.replaceWith("<section>"+newText+"</section>");
if(text != newText){
popup();
}
}
});
function popup() {
$("#success-alert").alert();
$("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
$("#success-alert").alert('close');
});
};