按钮单击后,页面加载后调用一个函数

时间:2017-07-04 10:45:42

标签: javascript jquery

有一种情况,我需要在点击页面上的按钮并使用javascript / jquery加载页面时调用xyz()之类的函数。 我无法直接在xyz()<Body onload="xyz()">document.ready()内拨打$(window).on('load', function ())。 单击一个按钮并完全加载页面后,我需要调用该函数。 下面是页面加载的工作代码,但不是我的要求

<body onload="xyz();">
    <form id="form1" runat="server">            
        <div id="vizContainer" style="width: 800px; height: 700px;">
        </div>
    </form>
</body>

现在,下面是按钮点击时所需的代码,但它无效

<body>
        <form id="form1" runat="server">
            <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="functiongetdata()" />       
            <div id="vizContainer" style="width: 800px; height: 700px;">
            </div>
        </form>
    </body>
 <script type="text/javascript">
        function functiongetdata() {
            xyz();
        }
    </script>

2 个答案:

答案 0 :(得分:2)

你可以使用这样的东西

$(function() {
        $('button.start').click(function() {
            $('img.lazy').lazy({
                bind: "event"
            });
        });

        $('button.loadAll').click(function() {
            $('.lazy').lazy({
                bind: "event",
                delay: 0
            });
        });
    });

请参阅此链接以获取明确示例 http://jquery.eisbehr.de/lazy/example_load-elements-by-events

答案 1 :(得分:-1)

方法1:

在窗口加载功能上,更新隐藏字段或添加标志变量并设置为真

 var myWindowIsLoaded = false
 $(window).on('load', function (){
    myWindowIsLoaded = true;
 });

然后在按钮上单击检查值

function xyz(){
 if(myWindowIsLoaded){
   // Do your stuff
 }
}

方法2:

在窗口加载

上的按钮单击事件中添加该功能
$(window).on('load', function (){
  $("#myButton").click(xyz); 
});