在 Mustache JS 中生成按钮时,单击事件/绑定事件在 jQuery 中不起作用

Click event / bind event not working in jQuery when generating buttons in Mustache JS

我有一个按钮,它是通过 mustache JS 模板在函数中生成的。

{{#attributes}}
    <a class="button--small btn" data-selector="{{selector}}">{{title}}</a>
{{/attributes}}

其示例输出是

<a class="button--small btn" data-selector=".news">More News</a>

但是,我试图在单击此按钮时执行另一个 jquery 功能,但无论我使用 .click(function() { }); 还是 .bind 它似乎都不起作用?即使是 console.log 也不会打印,所以我没有进入正确的条件。

这是脚本:

function lazyload(selector) {
    $("a[data-selector^='"+selector+"']").bind("click", function(e) {
            e.preventDefault();
            loadNews(selector);
    });
}

$(document).ready(function(){
   lazyload(".news"); // CALL FUNCTION READY FOR USAGE
});

对于新创建的元素,您需要委托 event:请参阅 "Direct and delegated events" 部分。

function lazyload(selector) {
   $(document).on("click", "a[data-selector^='"+selector+"']", function(e) {
        e.preventDefault();
        loadNews(selector);
   });
 }