检查 jQuery 页面加载事件是否已经触发

Dav*_*ith 1 javascript jquery

有没有办法检查 jQuery 是否触发了页面加载事件,还是必须自己触发?我需要更改链接的行为,但我不想等到页面完成加载,因为用户可能会在页面完成加载之前单击页面上半部分的链接。现在我是这样做的:

var pageLoaded = false;
$(function() {
  pageLoaded = true;
});

function changeLinks() {
  $("a[data-set-already!='true']").each(function() {
    $(this).attr("data-set-already", "true").click(...);
  }); 
  // Is there something along the lines of jQuery.pageWasLoaded that I can
  // use instead?
  if (!pageLoaded) {
    window.setTimeout(changeLinks, 100);
  }
}
changeLinks(); // Added per @jondavidjohn's question
Run Code Online (Sandbox Code Playgroud)

bst*_*kes 5

由于您使用的是文档就绪速记,我猜您的意思是加载 dom 时。为了这:

$.isReady
Run Code Online (Sandbox Code Playgroud)

  • 很酷的把戏。虽然没有记录......这肯定会在未来的版本中保留吗? (2认同)