2017-08-03 99 views
1

我想知道如何將點擊事件綁定到稍後將通過ajax調用添加的元素。我知道在jQuery你可以這樣做:綁定點擊ajax加載的內容,純JavaScript,沒有jQuery

$(document).on('click', '.ajax-loaded-element' function(){}); 

但我沒有在這一點上使用jQuery。 我的想法是這樣的,但如果你兩次調用相同的文件(不確定如果生病需要這樣做,但我想讓它防彈)。

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

任何幫助,將不勝感激。 :)

回答

0

它非常簡單。你可以試試這個。 這會幫助你。

document.getElementById('btn').setAttribute('onClick','myfunction()'); 
 
function myfunction(){ 
 
    alert('Button Clicked'); 
 
}
<button id="btn">Click Here</button>

編碼愉快。

+0

不可以。使用你的代碼,你不要在父節點上綁定事件。你在頁面上還沒有綁定的元素上綁定事件(因爲加載了Ajax)。 – Georgio