如何调用javascript中的函数?

How to call a function in javascript?

我想在每次更新成功时调用一个函数。更新正在运行我唯一担心的是每次成功更新时都会弹出警报。

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

The $(document).ready jquery function waits until the DOM is loaded into your browser before it executes the javascript code contained within it's function scope {}.

因此请从您的代码中删除 $(document).ready

另请注意,单页应用程序只需列出 $(document).ready 一次,您设置的所有侦听器事件都在其主体中定义。

因此您应该至少在某处列出一次,然后在其主体中定义所有初始事件侦听器。

   var popup = function () {
       $("#success-alert").alert();
       $("#success-alert").fadeTo(2000, 500).slideUp(500, function(){
       $("#success-alert").alert('close');
     });   
   };

第一次更新有弹窗,第二次更新没有弹窗

我认为它会解决您的问题

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