2016-03-01 101 views
-1

我想为使用JavaScript动态添加的HTML元素添加事件监听器。 喜欢的东西 我有一个div在我的主页添加动态添加元素的Addinf事件监听器 - HTML/JS

<div id="someid"></div> 

,并在其事件侦听按钮的点击作为

document.getElementById("someid").innerHTML = "<input type='button' id ='ad' value='Add' style='height:30px; width:90px'/>" 
document.getElementById("ad").onclick = notherFunc; 

和功能就像

function notherFunc(){ 
     alert("WORKING") 
} 

但不工作。有没有办法将该按钮绑定到一个函数上?

+0

您的代码正常工作https://jsfiddle.net/jnwrc5ay/46/ –

回答

1

您需要使用名为“event delegation”的技术。实质上,您需要将点击处理程序绑定到确实存在的元素,并查看被点击的元素是否是您期望的元素。

document.getElementById("someid").addEventListener("click", function (e) { 

    if (e.target.id === "ad") { 
     notherFunc(); 
    } 

});