委托的OP概念是什么?它与其他委托概念有何不同?

What is the "OP concept of delegation" and how does it compare to other delegation concepts?

本文关键字:其他 何不同 是什么 OP      更新时间:2023-09-26

我正在排除一些$(".foo").click(function(){…你懂的…});当我通过.load()加载内容时,事件不再工作。我发现了一些东西,让我通过这里的问题:jQuery,如何重新绑定html元素后。load()

其中一条评论认为委托使用不当,并提到了"委托的OP概念"。

我希望能更好地理解委托的问题,而不是仅仅解决这个问题,然后继续前进。

有人可以解释或指出参考文章,解释javascript中的委托的概念和什么是"委托的OP概念"?

编辑:OP作为"原始海报"在你们指出之后完全有意义,很难看出我现在怎么错过了。讲完了这些,我还要找一个javascript委托的好参考

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

解决方案是在ajax加载完成后重新绑定所有事件。

但是,另一个解决方案是使用jQuery的事件绑定来将元素绑定到DOM树中更高的永久元素,这样事件就不必在每次ajax加载时都反弹。

$(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...
        });
    });
});

根据使用情况,与每次加载重新绑定相比,这可以获得内存和性能收益。

这个示例展示了替换元素的html但不必每次都重新绑定的示例。