gpt4 book ai didi

javascript - "OP concept of delegation"是什么?它与其他委托(delegate)概念相比如何?

转载 作者:行者123 更新时间:2023-11-28 08:05:43 24 4
gpt4 key购买 nike

我正在对一些 $(".foo").click(function(){...你明白了...}); 遇到的问题进行故障排除当我通过 .load() 加载内容时,事件不再起作用。我在这里发现了一些可以帮助我解决问题的东西:jQuery, how to rebind html-elements after .load()

其中一条评论表明委派使用不正确,并提到“OP 委派概念”。

我想更好地理解委托(delegate)问题,而不是仅仅努力解决问题并继续前进。

有人可以解释或指出解释 javascript 中的委托(delegate)概念以及“委托(delegate)的 OP 概念是什么”的引用文章吗? Google 的帮助不是很大。

编辑:在你们指出这一点之后,OP作为“原始海报”完全有意义,很难看出我现在是如何错过这一点的。因此,尽管如此,仍在寻找 javascript 中的委托(delegate)的良好引用。

最佳答案

认为该评论暗示原始海报 (OP) 可能没有正确使用 jQuery 委托(delegate)事件绑定(bind)。很难说,因为原始帖子没有任何示例。

该文章中有效的解决方案是在 ajax 加载完成后重新绑定(bind)所有事件。

但是,另一个解决方案是使用 jQuery on事件绑定(bind)将元素绑定(bind)到 DOM 树中较高位置的永久元素,这样事件就不必在每次 ajax 加载时重新绑定(bind)。

$(document).ready(function() {

$("#containerDiv").on('click', 'button.loadedFromAjax', function() {
...handle the click event of a button that is loaded via ajax...
});

$("#someButton").on("click", function() {
$("#elementToReload").load("page-to-load.html", function() {
...no need to bind events here since they are bound already...
});
});
});

根据使用情况,与重新绑定(bind)每个负载相比,这可以提高内存和性能。

这个jsfiddle显示了替换元素 html 但不必每次都重新绑定(bind)的示例。

关于javascript - "OP concept of delegation"是什么?它与其他委托(delegate)概念相比如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24807635/

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