javascript 在页面完全加载后执行某些操作

aij0ehis  于 2023-04-19  发布在  Java
关注(0)|答案(8)|浏览(128)

我使用了一些嵌入代码来动态地将HTML插入到页面中,因为我必须修改动态插入的HTML,所以我希望jquery函数等待页面加载,我尝试了delay,但似乎不起作用。
例如,动态插入的HTMl具有元素div#abc
我有这个jquery:

if ( $('#abc')[0] ) { 
  alert("yes");
}

警报不会出现。
我会很感激任何帮助
谢谢

8fq7wneg

8fq7wneg1#

使用jQuery.ready应该足够了。试试这个

$(document).ready(function(){
   //your code here
});

$(function(){

});

这是第一个的捷径。

hgqdbh6s

hgqdbh6s2#

load()方法在jQuery版本1.8中被弃用,并在版本3.0中被删除。所以你必须使用-

$(window).on('load', function() {
 // code here
});
idfiyjo8

idfiyjo83#

试试这个:

$(document).ready(function () {
    if ( $('#abc')[0] ) { 
      alert("yes");
    }
});
c90pui9n

c90pui9n4#

$(window).load(function () { ... }

这就足够了,但是你的嵌入式代码(不管是什么)可能会提供一些你可以使用的回调功能。
delay()只能用于延迟animations

rdrgkggo

rdrgkggo5#

一般来说,在页面加载之前或之后处理我的jQuery,将用途:

jQuery(function($){
    // use jQuery code here with $ formatting
    // executes BEFORE page finishes loading
});

jQuery(document).ready(function($){
    // use jQuery code here with $ formatting
    // executes AFTER page finishes loading
});

ES6更新

下面是使用箭头函数的ES6版本的脚本:

// Executes before page finishes loading.
document.addEventListener('DOMContentLoaded', () => {
  // Use JavaScript code here.
});

在第一个示例中,我们使用DOMContentLoaded事件在HTML文档完全加载和解析后执行代码。

// Executes after page finishes loading.
window.addEventListener('load', () => {
  // Use JavaScript code here.
});

在第二个示例中,我们使用load事件在加载所有页面内容(包括图像和其他外部资源)后执行代码。

rryofs0p

rryofs0p6#

你用dom load绑定事件,这样当触发器被调用的时候它就在那里。这就是你怎么做的。希望有一天这能帮助到别人

$(window).bind("load", function() { 
   //enter code here
   $("#dropdow-id").trigger('change');
});`
368yc8dk

368yc8dk7#

$(window).load(function () {
    ....
});

如果你必须等待一个iframe(并且不关心资产,只关心DOM)-试试这个:

$(document).ready(function() { 
    $('iframe').load(function() { 
       // do something
    });
});
bxgwgixi

bxgwgixi8#

这就是jQuery's .ready()事件的目的:

$(document).ready(function() {
    if ( $('#abc').length ) //If checking if the element exists, use .length
        alert("yes");
});

说明:指定在DOM完全加载时要执行的函数。

相关问题