jQuery的.load();是否有jQuery事件监听器?

时间:2019-01-04 14:44:24

标签: javascript jquery html

我想在加载$(document).ready();元素时运行div类型的函数,但是应该在我使用jQuery的.load()之后运行。

我正在创建一个网站,我希望通过在其中加载页面的容器来在页面之间导航。当我加载页面时,我说myContainer.empty();来清除它,然后我有一个单独的html文件,其中包含另一页面的html,所以我只说myContainer.load('myOtherPage.html');。效果很好,但是当某个页面加载到myContainer中时,我需要运行事件侦听器。

我使用:

myPageContainer.empty();
myPageContainer.load('home.html');

但是,我的javascript无法识别它已加载的事实,并且页面加载后,我有一些事件需要触发。

因此,简而言之,我基本上需要一种事件侦听器,该事件侦听器在通过jQuery的.load();加载页面时运行。

1 个答案:

答案 0 :(得分:5)

$("#success").load("somefile.html", function(response, status, xhr){
  if(status == "error"){
    var msg = "Sorry but there was an error: ";
    $("#error").html( msg + xhr.status + " " + xhr.statusText );
  }
});

请参见documentation

enter image description here

@Sebastian的评论:

if (myPageContainer.addEventListener) {
  myPageContainer.addEventListener('load', function() {
       /* do stuff */ 
  });
} else {
  // it's IE!
  myPageContainer.attachEvent('load', function() {
    /* do stuff */
  });
}

希望这对您有用吗?