gpt4 book ai didi

jquery - 为什么需要在 jQuery 中计算 live 的表达式

转载 作者:行者123 更新时间:2023-12-03 22:48:35 25 4
gpt4 key购买 nike

以下问题的灵感来自 this blog entry在 ajaxian.com 和 this comment by paul irish .

这是一种声明实时事件的方法。

$("li a").live(...)

根据 this blog entry ,据我了解,现场事件只不过是文档层面的包罗万象。任何一直冒泡到顶部的事件都会被实时事件捕获,如果选择器匹配,则调用该函数。

据我了解,如果我调用,文档准备就绪

$("li a").live('click', ..)

那么 jQuery 应该做的就是将文字选择器“li a”放入内存中的某个位置。现在,当发生点击时,如果点击一直冒泡到顶部,那么 live 应该检查目标元素是什么。如果目标元素满足“li a”规则,则应触发该函数,否则忽略此冒泡事件。

基于我打电话时文件准备就绪的假设

$("li a").live('click', ..)

那么理想情况下,jQuery 实际上不应该去查找所有与“li a”匹配的元素,因为 jquery 不会对这些元素执行任何操作。我确信文档中当前存在的与“li a”匹配的元素未绑定(bind)到任何事件处理程序。

如果所有 jQuery 要做的就是将文字“li a”放在文档根级别,那么为什么要在文档就绪时寻找与条件“li a”匹配的元素。但根据我在顶部提到的评论链接,jQuery 似乎实际上是在寻找文档上准备好的元素。

我的问题是,当 live 方法不会对它们做任何事情时,为什么它应该找到所有“li a”方法。我想实时语法应该是这样的

$.live('li a', 'click', function(){})

我在这里遗漏了什么吗?

最佳答案

我对它为什么从 DOM 中获取所有元素的理解是因为这就是 $() 函数的作用,然后在它选择 DOM 元素后执行 live() 函数。

在这种情况下,您需要使用此处答案中其他地方建议的解决方法之一。

关于jquery - 为什么需要在 jQuery 中计算 live 的表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1680864/

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