我用.load()替换了.ready():
$('document').load(function(){
alert('test');
});
Run Code Online (Sandbox Code Playgroud)
但没有任何反应.回到ready()并且它工作正常.文档中没有任何内容.它只是一个空白的HTML文件.
我究竟做错了什么?
$(document)不是$('document')在选择文档时因为没有<document>元素.
此外,document不会触发加载事件.window触发加载事件.你应该使用$(window).load(...).
之所以$('document').ready()工作是因为.ready()实际上并没有使用任何选择器上下文,而API应该一直都是$.ready(...).避免$(document).ready()并坚持使用别名速记版本:
jQuery(function ($) {
...
});
Run Code Online (Sandbox Code Playgroud)
另外,请注意,在文档准备好document.ready 之后绑定到仍然会触发回调.在窗口加载window.onload 后绑定到不会触发回调.
$(document).ready(function () {
alert('document selector works');
});
$('document').ready(function () {
alert('invalid selector works');
});
$().ready(function () {
alert('no selector works');
});
$(window).load(function () {
alert('window load works!');
$(window).load(function () {
alert("load has already fired, this doesn't work");
});
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
344 次 |
| 最近记录: |