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