将单击绑定到ajax加载的内容,纯JavaScript,无jQuery

将单击绑定到ajax加载的内容,纯JavaScript,无jQuery,javascript,ajax,addeventlistener,Javascript,Ajax,Addeventlistener,我想知道如何将单击事件绑定到稍后将通过ajax调用添加的元素。我知道在jQuery中,您可以这样做: $(document).on('click', '.ajax-loaded-element' function(){}); 但我现在没有使用jQuery。 我的想法是这样的,但如果你调用同一个文件两次,那就行不通了(不确定我是否需要它,但我想让它防弹) 任何帮助都将不胜感激。:) 这很简单。你可以试试这个。 这对你有帮助 document.getElementById('btn').setA

我想知道如何将单击事件绑定到稍后将通过ajax调用添加的元素。我知道在jQuery中,您可以这样做:

$(document).on('click', '.ajax-loaded-element' function(){});
但我现在没有使用jQuery。 我的想法是这样的,但如果你调用同一个文件两次,那就行不通了(不确定我是否需要它,但我想让它防弹)


任何帮助都将不胜感激。:)

这很简单。你可以试试这个。 这对你有帮助

document.getElementById('btn').setAttribute('onClick','myfunction()');
函数myfunction(){
警报(“点击按钮”);
}

单击此处
否。使用您的代码,您不会绑定父节点上的事件。将事件绑定到页面上尚未包含的元素上(因为加载了ajax)。
bindAjaxBtn: function(selector, fnName) {
    let isBinded = false;
    document.addEventListener('click', function(e) {
        const btn = document.querySelector(selector);
        if(btn === e.target) {
            if(!isBinded) {
                btn.addEventListener('click', function() {
                    fnName();
                    isBinded = true;
                });
                btn.click();
            }
        }
    });
},