gpt4 book ai didi

javascript - 为什么 $.click() 应该包含在 $(document).ready() 中?

转载 作者:行者123 更新时间:2023-12-03 21:50:47 24 4
gpt4 key购买 nike

我正在经历http://docs.jquery.com/How_jQuery_Works并且发现在$(document).ready()中包含$.click()事件的要求甚至有点奇怪。我的困难如下:

  • 当文档加载时,控件会进入$(document).ready()函数,但会继续执行$.click()吗? (基于它不会的行为。但是当控件进入正常函数时,为什么它不会进入 $.click() 函数?)
  • 由于用户只有在文档准备好后才能看到 url,是否真的需要在 $(document).ready() 中嵌入 $.click() >?

最佳答案

How jQuery Works document使用绑定(bind) .click() 的示例$(document).ready()里面确定 .click() 所指向的元素函数执行时绑定(bind)的事件已创建。

.click()使用函数作为其参数调用不会执行 .click()在与其前面的选择器匹配的节点上,而是将函数绑定(bind)到匹配节点的 onclick .

如果您尝试做这样的事情:

$('a').click(function(){
alert('clicked me');
});

...在文档中 <head>或在任何 <a> 之前元素已渲染,事件不会绑定(bind)到任何节点,因为没有节点与 $('a') 匹配。选择器在函数执行时就存在。

此外,如果您在某些 <a> 时这样做了标签已经创建,只有那些已经创建的标签才会获得绑定(bind)事件。 <a>绑定(bind)函数后创建的标签不会有 .click()绑定(bind)。

因此,在 jQuery(和其他 JavaScript 框架)中,您经常会看到在 $(document).ready(function(){}); 内添加事件处理程序、绑定(bind)小部件等的约定。

关于javascript - 为什么 $.click() 应该包含在 $(document).ready() 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10092762/

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