我在Modernizr调用之后用jQuery编程。 Modernizr使用AJAX加载JavaScript和CSS代码。
被叫代码无法使用
$(window).load(function(){
// Some code
});
与其他选择器相同,例如$(' img'),$(' object')等......
但适用于:
$(window).prop('complete',function(){
// Some code
});
和其他选择者......
在没有Modernizr的情况下测试两个代码,$(窗口).prop('完成')首先开火
他们之间的区别是什么?
为什么每个人都使用$(window).load而不是$(window).prop(' complete')?
答案 0 :(得分:3)
这些功能完全不同。
load
在页面加载完成后触发回调函数。这意味着它是异步;即后续行上的代码可能会在回调运行之前发生。
prop
做了一些完全不同的事情。它是一种以动态方式在元素上设置属性的方法。通常它用在元素集上。例如,这会反转所有checked
按钮上的所有radio
属性:
$('input[type="radio"]').prop('checked', function(i, oldProp) {
return !oldProp;
});
此代码为同步。这意味着它全部立即运行;在所有回调发生之前,后续的代码行都不会运行。
所以$(window).prop('complete', function() {...});
是非常奇怪的语法。它与此基本相同:
window.complete = '...';
它甚至没有与$(window).load()
远程做同样的事情。它适用于在window
对象上设置属性,但根据我的经验,这对于有用的时间是不可想象的。