无法从后面的代码调用JQuery Popup

时间:2014-08-30 08:31:06

标签: jquery asp.net popup code-behind

我是Jquery的新手。我面临的问题是,我能够从代码后面调用alertbox但是当我用Jquery函数替换alertbox时,我收到错误“Microsoft JScript运行时错误:'loadPopupBox'未定义”

在“文档就绪”

运行时,同样的函数loadPopupBox()工作正常
    <script type="text/javascript">

   function myFunction() {
        loadPopupBox();  //This doesn't work while calling from code behind
        //alert("Hi");   // This works fine with code behind
    }

    $(document).ready(function () {


        loadPopupBox();  //This works fine with document load

        function loadPopupBox() {    
            $('#popup_box').fadeIn("slow");
            $("#container").css({ 
                "opacity": "0.3"
            });
        }
    });
</script>

后面的代码

protected void Button1_Click(object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "myFunction();", true);
}

非常感谢任何帮助。

此致 Nikunj

1 个答案:

答案 0 :(得分:0)

停止在$(document).ready内定义功能。 如果你想在页面加载时调用一个函数,在$(document).ready之外定义它,然后在里面调用它。

像这样修改你的代码,它会运行良好:

function myFunction() {
    loadPopupBox();
}

$(document).ready(function () {
    loadPopupBox();
});

function loadPopupBox() {    
    $('#popup_box').fadeIn("slow");
    $("#container").css({ 
        "opacity": "0.3"
    });
}