【问题标题】:JS addEventListener is not triggeringJS addEventListener 没有触发
【发布时间】:2021-04-25 13:19:49
【问题描述】:

当我在我的 JS 文件中添加 addEventListener 以进行“更改”时,它永远不会在选择选项时触发。如果我在我的 HTML 中添加内联“onchange”,它可以工作,但我更喜欢在我的 JS 文件中使用事件侦听器。

我需要在我的 JS 文件中添加事件侦听器的特定方法吗?

这是我添加事件侦听器的方式:

var tagdropDown = document.getElementById("tagSelect");
    tagdropDown.addEventListener('change', function(){
        console.log("tag change");
        tagSelections = $('#tagSelect').val();
    }, false);

【问题讨论】:

  • 你什么时候调用这个函数,你确定你的下拉菜单在你调用它的时候已经完成渲染了吗?
  • 我可以编辑您的问题,添加基本的 html,并且可以正常工作。我不这样做,因为这会使问题看起来很愚蠢。您能否添加您正在使用的 html,以帮助重现问题?
  • 这与我正在使用的 bsmultiselect 插件有关。如果我不将插件应用于元素,上述方法确实有效。我正在努力获得一个随插件添加的工作代码 sn-p 以显示问题。
  • jquery插件只触发juqery事件,尝试用jqueryon订阅(和dom事件不一样)。

标签: javascript dom-events bsmultiselect


【解决方案1】:

使用每个 Roman 的 JQuery 订阅,它现在可以根据需要工作。谢谢! Roman Pokrovskij

jquery 插件只触发 juqery 事件,尝试开启 jquery 订阅它(它与 dom 事件不同)。 – 罗曼·波克罗夫斯基

【讨论】:

  • 仍然考虑在大多数情况下处理 setSelected(在 bsMultiSelect 配置时),它应该会更好地工作 - 你会得到更改的选项(但不是索引)。
猜你喜欢
  • 1970-01-01
  • 2019-02-27
  • 2020-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多