N00b在这里。如果这是一个糟糕的问题,请提前道歉。
这两个jQuery声明之间有什么不同,实际上,如果有的话?
$(document).ready(function(){
alert("I'm so loaded 1.");
});
和
$('document').ready(function(){
alert("I'm so loaded 2.");
});
在相关的说明中,为什么这样做......
$(document).on('ready',function() {
alert("I'm so loaded 3.");
});
......但这不是吗?
$('document').on('ready',function() {
alert("I'm so loaded 4.");
});
答案 0 :(得分:5)
.ready
方法忽略传入的选择器,因为可以调用它的唯一有效对象是文档。建议不要将.on
或.bind
与ready
事件一起使用。此外,您永远不应该使用'document'
,因为document
始终可以直接使用。
答案 1 :(得分:-1)
我从未见过它用作
$('document').ready(function(){
alert("I'm so loaded 2.");
});
之前从bjkeefe的评论和Kevin B的回答中收集,它无效。
$(document).ready(function(){
alert("I'm so loaded 1.");
});
表示页面完全加载后,执行该功能。这很有用,因为当页面仍在加载时,没有jQuery会尝试执行,并且尚未加载特定元素。
$(document).on('ready',function() {
alert("I'm so loaded 3.");
});
on
函数意味着应用于动态创建元素的任何事件仍然可以正常工作,但我之前从未使用on
,所以我不能这样做保证它可以在这种情况下工作,我通常使用on
之类的click
,hover
等等,因为它确保将任何jQuery应用于动态创建的元素(元素)在页面加载后创建)仍然可以在没有on
的情况下工作,jQuery可以正常处理文档中包含的元素,但不会处理动态生成的元素。