javascript – 为什么$.click()被封装在$(document).ready()中?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么$.click()被封装在$(document).ready()中?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在通过 http://docs.jquery.com/How_jQuery_Works,找到在$(document).ready()中附加$.click()事件的要求甚至有点奇怪.我的困难如下:

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

@H_502_5@

解决方法

How jQuery Works document使用绑定$(document).ready()内的.click()的示例来确定在执行函数时已经创建了.click()事件绑定的元素.

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

如果你试图做这样的事情:

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

…在文件< head>或在任何< a>元素已被渲染,事件不会被绑定到任何节点,因为在执行函数时没有匹配$(‘a’)选择符的节点.

此外,如果您在某些< a>标签已创建,只有已经创建的标签才能获得绑定的事件. &LT a取代;在函数绑定后创建的标签将不具有.click()绑定.

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

@H_502_5@ @H_502_5@

猜你在找的JavaScript相关文章