当前位置: 首页 > 面试题库 >

jQuery:live()与委托()

全鸿晖
2023-03-14
问题内容

我在Web应用程序中使用jQuery。在阅读其文档时,我了解了live()delegate()。尽管他们解释了这两种方法,但我不了解它们之间的确切区别。也不确定哪种方法在哪种情况下是理想的。

请帮助我清楚地了解这些方法。

谢谢


问题答案:

.live()要求您立即运行选择器,除非您使用的结果非常浪费。这里的事件处理程序是附加到的document,因此必须检查所有冒泡的该类型事件。这是一个用法示例:

$(".myClass").live("click", function() { alert("Hi"); });

请注意, 即使我们不在乎 该语句$(".myClass"),该选择符 也会 运行该选择器以查找该类中的所有元素,我们所 希望的
只是在事件冒泡时 稍后".myClass"匹配的字符串。 __click``document

.delegate()实际在.live()内部使用,但具有上下文。选择器
不会 立即运行,因此它已经更加高效了,并且没有附加到document(尽管可以)它更本地化了……而且您根本不在乎其他元素树中的所有 其他
事件甚至都不会冒泡时检查…再次提高效率。这是一个用法示例:

$("#myTable").delegate("td", "click", function() { alert("Hi"); });

现在这里发生了什么?我们跑了$("#myTable")去重视(当然不是越贵的元素document,但我们 使用
的结果。然后,我们重视的事件处理程序到(或那些在其他情况下)的元素,只有clicks 该元素是对检查"td"选择当它们发生时,并不是像
其他 任何地方 一样.live()(因为 所有内容 都在内部document)。



 类似资料:
  • 问题内容: 我对Java中的委托和回调的术语有些误解。 那又如何实现呢? 问题答案: 这是一个回调。根据维基百科: 在计算机编程中,回调是对一段可执行代码的引用,该可执行代码作为参数传递给其他代码。 因此,让我们看一下可执行代码: 在这里,参数是对type对象的引用。由于该引用作为参数传递,因此它是一个回调。 委托由对象内部完成-与方法的调用方式无关。例如,如果变量不是参数,而是实例变量: …那将

  • 问题内容: 我正在尝试使用jQuery_.on() 方法来理解 _直接 事件处理程序和 委托 事件处理程序之间的特殊区别。具体来说,本段的最后一句话: __ 当被提供时,事件处理程序被称为委托。当事件直接发生在绑定元素上时,不调用处理程序,而仅对与选择器匹配的后代(内部元素)进行调用。jQuery使事件从事件目标一直冒泡到附加了处理程序的元素(即,最内层元素到最外层元素),并沿该路径运行与选择器匹

  • 问题内容: 我已经阅读了很多有关每种方法的优缺点的信息,并且我知道委托通常是针对一个侦听器的,而通知则针对许多侦听器。问题在于性能。 我正在通过通知将麦克风的音频信号发送到另一个班级。我知道在这里我应该使用委托,但我的问题是:委托会更快吗?因为我可以看到我有一些帧速率问题(已减少),并且我想知道原因是否可能是使用通知 而不是 委托,还是没有关系? 问题答案: 代表的开销较少,因此执行速度更快。 但

  • 主要内容:类委托,属性委托,标准委托,可观察属性 Observable,把属性储存在映射中,Not Null,局部委托属性,属性委托要求,翻译规则,提供委托委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。 类委托 类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来实现的。 以下实例中派生类 Derived 继承了接口

  • 主要内容:声明委托,实例化委托,多播委托(合并委托)C# 中的委托(Delegate)类似于 C 或 C++ 中的函数指针,是一种引用类型,表示对具有特定参数列表和返回类型的方法的引用。委托特别适用于实现事件和回调方法,所有的委托都派生自 System.Delegate 类。在实例化委托时,可以将委托的实例与具有相同返回值类型的方法相关联,这样就可以通过委托来调用方法。另外,使用委托还可以将方法作为参数传递给其他方法, 委托具有以下特点: 委托类似

  • 关于“行为委派”的良好讨论可以在 找到。