-1
<script>
    !window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>');
    </script>
        //this the jquery I'm using
    <script type="text/javascript" src="jquery.fancybox-1.3.4.pack.js"></script>

<script type="text/javascript">
     //the function calls the query
    $(document).ready(function x() {
        /*
        *   Examples - images
        */
            //set the position of title on image

        $("a#example7").imagebox({
            'titlePosition': 'inside'
        });
    });

</script>
4

1 回答 1

0

在 updatepanels 的异步页面回发期间,$(document).ready 函数不会被触发,因此必须以其他方式执行 $(document).ready 的代码。

您可以执行以下两种方式中的任何一种:

第一种方式:

<script type="text/javascript">
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_initializeRequest(InitializeRequest);
        prm.add_endRequest(EndRequest);
        function InitializeRequest(sender, args) {               
            //do any action that you want to be executed before postbacks
        }
        function EndRequest(sender, args) {
            $("a#example7").imagebox({
                 'titlePosition': 'inside'
            });
        }
</script>

第二种方式,即使用 RegisterStartupScript:

<script type="text/javascript">
            function CreateImageBox() {
                $("a#example7").imagebox({
                     'titlePosition': 'inside'
                });
            }
</script>

在 c# 代码中使用:

ScriptManager.RegisterStartupScript(UpdatePanel1, UpdatePanelTab.GetType(), "createimagebox", "CreateImageBox();", true);
于 2013-03-01T11:22:31.603 回答