动态添加的元素上的事件处理程序不适用于 select2 插件

event handler on dynamically added element not working with select2 plugin

本文关键字:不适用 适用于 select2 程序 插件 事件处理 添加 元素 动态      更新时间:2023-09-26

我以前做过一百万次,但这次根本行不通!我有一个功能可以动态添加一个带有链接的表单,该链接将充当按钮

content += '<a name="btn-opprettKontakt" id="btn-opprettKontakt" class="btn-opprettNy btn btn-small btn-primary pull-right" data-action="opprettKontakt">Opprett</a>';
return content;

然后我有链接的这个事件处理程序

$('body').on('click','.btn-opprettNy', function() {
                alert('button clicked');
            });

表单位于 select2 容器内,该容器也是动态添加的,因此除了"body"之外没有父元素。但这永远不会燃烧。

我还有一个用于所有"按钮"元素的事件处理程序,用于检查数据操作,该操作适用于所有其他按钮。如果我将此链接更改为按钮,它也永远不会触发。

如果我使用document.ready上存在的元素,例如"body",.on((应该适用于动态添加的元素,对吗?也许 select2 容器把事情搞砸了?

我在动态添加的元素上还有其他事件处理程序,这些元素工作得很好。

更新

Select2 会终止下拉列表中的所有鼠标事件。到目前为止,我找到的唯一解决方案是使用内联点击

Select2 会杀死下拉列表中的所有鼠标事件。到目前为止,我找到的唯一解决方案是使用内联点击

这也是一个解决方案,可以帮助其他人解决类似问题。