如何在页面加载期间调用JavaScript函数?

时间:2013-08-07 13:46:11

标签: javascript jquery html5

我有一个Html页面包含几个页面,其data-role = page为page1,page2等。 我试图使用以下代码

在page1的页面加载期间调用JS方法
$("#page1").on("load",function () {
  alert("hi")
  $.ajax({
          type: "GET",
          url: "",
          data: "{}",
          contentType: "application/json",
          dataType:"json", 
          success:  function (msg) {
                                    var BPRList = '';
                                    $.each(msg, function(i,v){  
                                      BPRList += '<li onClick="GetBprDetails('+ v.BPRNo +')"><a href="#bprPage" data-transition="slide"><p class="title">' + v.BPRNo + '</p><p class="bodyEle">' + v.BPR_Product +'</p><p class="bodyEle">' + v.BPR_Details+ '</p><br/><p class="bodyEle">' + v.BPR_Status + ':</p></a></li>'     
                                                             })         
                                   $("#BPRListTable").html(BPRList)
                                   $('[data-role=listview]').listview('refresh');
                                   },
           error:    function () {
                                   alert("BPR List Error");
                                 }
        }); });

在执行上述函数期间,我无法在formload期间获取输出 好像我调用上面的方法作为按钮点击事件我能够获得输出。 可能是上面代码中的错误.. 我更关心代码。

$("#page1").on("load",function () {
 --statements
})

4 个答案:

答案 0 :(得分:1)

 $(window).load(function () {
   alert("hi")
 });

如果您想在页面加载时显示结果,请尝试此操作。在$(document).ready(function(){});

之外写下此代码

答案 1 :(得分:1)

尝试将'page:load'放入'load'而不是'load'它可能会更好用:

$("#page1").on("page:load",function () {
    - - - - 
    - - - -
    - - - - 
});

答案 2 :(得分:1)

找到解决方案我自己

 $(document).ready(function(){
 $(document).on('pagebeforeshow','#page1',function () {
                                                           --statements
                                                          }); });

答案 3 :(得分:0)

我认为使用pageinit会没问题

$(document).on('pageinit', '#page1', function() {...})

以这种方式,您可以避免使用document.ready,这也是jquery mobile不推荐的。