什么是“OP授权概念”,它与其他授权概念相比如何?

时间:2014-07-17 15:24:05

标签: javascript delegates

我正在解决我遇到的一些问题(" .foo")。点击(function(){...你明白了......});通过.load()加载内容时,事件不再有效。我发现了一些让我解决问题的方法:jQuery, how to rebind html-elements after .load()

其中一条评论认为代表团使用不当,并提到了" OP的授权概念"。

我想更好地了解委托问题,而不仅仅是通过修复并继续前进。

有人可以解释或指向那些解释javascript授权概念的文章,以及" OP的授权概念是什么"?谷歌并没有多大帮助。

编辑:OP as" Original Poster"在你们指出这一点之后完全有道理,很难看出我现在错过了什么。所以,除此之外,仍然在javascript中寻找一个很好的代表团参考。

1 个答案:

答案 0 :(得分:0)

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

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

但是,另一个解决方案是使用jQuery on事件绑定将元素绑定到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...
        });
    });
});

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

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