使用 angularjs 指令,我将事件监听器添加到插入到 DOM 中的动态创建的 HTML 元素。

但是,事件监听器不会触发。如果我向文档添加一个事件监听器,它可以工作,但它似乎没有调用与动态添加的元素关联的事件监听器。

我为这个问题创建了一个 fiddle : Fiddle

我将动态元素创建为:

button = document.createElement('button');

然后我添加事件监听器:
button.addEventListener('click', function () {
    alert("Button event listener is called");
});

但是事件监听器永远不会被调用。

编辑:请注意,该指令将在多个位置使用,我正在寻找一种不使用类或 ID 但仍必须唯一捕获点击的解决方案。

最佳答案

代替:

element[0].insertAdjacentHTML('afterend', button.outerHTML);

用:
element[0].insertAdjacentElement('afterend', button);

演示 : http://jsfiddle.net/7nus5/

关于javascript - 动态 HTML 的事件监听器不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23367434/

10-10 08:25