gpt4 book ai didi

javascript - 从 DOM 中删除选择后,Select2 下拉菜单仍然存在

转载 作者:行者123 更新时间:2023-11-27 23:04:25 32 4
gpt4 key购买 nike

我正在使用 select2 版本 4.0.2(rc1)我看到的是,当将 select2 与 isMultple=true 一起使用时,打开下拉列表,然后动态地从 DOM 中删除选择,菜单会保留下来。

您可以在the select2 examples中看到它发生通过专注于控制,您可以看到时区选项,然后在控制台中输入 $('.s2-example').remove()。选项列表一直存在。

编辑:上面是我正在尝试解决的问题的示例。在我的例子中发生的情况是,框架正在操纵 dom 来删除选择框,这样我就无法在它发生之前连接到它。我想做的是找到一种方法来响应被删除的元素,希望我可以手动删除选项列表(如果存在)。

我正在尝试找出一种干净的方法来处理这个问题。我尝试过像这样 Hook 销毁:

$("#select-2-id").on("销毁", function(){...})

但 destroy 似乎没有被触发。

我考虑过使用 mutation observer但这对我来说有点老套。有人能提出更好的方法来处理这个问题吗?任何意见,将不胜感激。谢谢!

最佳答案

当然buried in the documentation (under adapters) ,但您应该通过将“destroy”传递给 jQuery 对象的 .select2() 方法来调用 select 上的 destroy 方法

$(".js-example-basic-multiple").select2('destroy');

这会破坏实例。然后您可以安全地调用 .remove()

$(".js-example-basic-multiple").select2('destroy').remove();

关于javascript - 从 DOM 中删除选择后,Select2 下拉菜单仍然存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36725122/

32 4 0