gpt4 book ai didi

javascript - jQuery - $(window).load 与 $(window).prop ('complete' )

转载 作者:行者123 更新时间:2023-11-30 12:18:39 27 4
gpt4 key购买 nike

我在调用 Modernizr 后使用 jQuery 进行编程。Modernizr 使用 AJAX 加载 JavaScript 和 CSS 代码。

调用的代码不适用于

$(window).load(function(){
// Some code
});

与 $('img')、$('object') 等其他选择器相同...

但适用于:

$(window).prop('complete',function(){
// Some code
});

和其他选择器...

在没有 Modernizr 的情况下测试这两个代码,$(window).prop('complete') 先触发

它们有什么区别?

为什么每个人都使用 $(window).load 而不是 $(window).prop('complete')?

最佳答案

这些函数做完全不同的事情。

load 在页面完成加载时触发回调函数。这意味着它是异步的;即后续行中的代码可能会在回调运行之前发生。

prop 做了完全不同的事情。它是一种以动态方式在元素上设置属性的方法。通常它用于元素集。例如,这将反转所有 radio 按钮上的所有 checked 属性:

$('input[type="radio"]').prop('checked', function(i, oldProp) {
return !oldProp;
});

这段代码是同步的。这意味着它会立即运行;在所有回调发生之前,后续代码行不会运行。

所以 $(window).prop('complete', function() {...}); 是非常奇怪的语法。它基本上与此相同:

window.complete = '...';

它甚至不会远程执行与 $(window).load() 相同的操作。它适用于在 window 对象上设置属性,但根据我的经验,没有想象中的时间有用。

关于javascript - jQuery - $(window).load 与 $(window).prop ('complete' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31700206/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com