You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Select2移除标签按钮stopPropagation与preventDefault失效问题求助

解决Select2点击移除图标时下拉菜单关闭的问题

你的代码无效的核心原因是事件类型选择错误:Select2的下拉菜单关闭逻辑是在mousedown阶段触发的,而你绑定的是mouseup事件,此时下拉关闭的逻辑已经执行完毕了。

同时注意修正选择器的小问题:$("document")改为$(document)(虽然不影响功能,但这是规范写法)。

修改后的代码如下:

$(document).ready(function () {
  $(document).on(
    "mousedown",
    ".select2-selection__choice__remove",
    function (event) {
      event.stopPropagation();
    }
  );
});

关键说明:

  • 使用mousedown事件:在Select2处理下拉关闭的逻辑之前拦截事件,阻止其冒泡到父元素,避免触发下拉菜单关闭的行为。
  • 移除event.preventDefault():我们需要保留点击“x”图标删除选中项的默认行为,只需要阻止事件冒泡即可。

这样调整后,点击选中项的移除图标时,只会删除对应的选中项,下拉菜单会保持展开状态。

内容的提问来源于stack exchange,提问作者neves

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 21:17:06