如何在javascript中调用函数?

时间:2016-03-04 05:40:50

标签: javascript popup

我想在每次更新成功时调用一个函数。更新工作正常,我唯一关心的是每次成功更新时都会弹出警报。

    $.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');
            });   
        });
    });
    };

3 个答案:

答案 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');  
    });
};