首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bootstrap-select不代理单击事件

bootstrap-select不代理单击事件
EN

Stack Overflow用户
提问于 2013-09-06 20:35:56
回答 2查看 9.3K关注 0票数 5

我有select元素:

代码语言:javascript
复制
  <select id='selectBox'>
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
  </select>

并通过jquery设置点击事件:

代码语言:javascript
复制
$('#selectBox option').click(function(){
.....
});

使用http://silviomoreto.github.io/bootstrap-select/后:

代码语言:javascript
复制
  <select id='selectBox' class="selectpicker" multiple="" data-selected-text-format="count">
    <option>Mustard</option>
    <option>Ketchup</option>
    <option>Relish</option>
  </select>

我得到了很好的multiply下拉菜单,除了当我点击菜单项(select或delestct it)时,没有任何反应。

为什么不点击事件代理从我的原始(被隐藏)选项元素到新创建的元素'ul.dropdown-menu li a‘?我怎么才能修复它?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-06 23:01:28

将您的代码更改为:

代码语言:javascript
复制
$('#selectBox').on('change', function(){
    .....
});

这必须行得通;

票数 12
EN

Stack Overflow用户

发布于 2016-02-01 17:37:12

虽然$("#selectBox").change(...) / .on("change", ...)会在下拉菜单选项更改时触发,但当选择保持不变时,它将不起作用。

例如,如果您希望在下拉菜单关闭时立即选中与下拉菜单关联的单选按钮,请使用hidden.bs.select事件。

只要不导致下拉列表失去焦点并关闭,我们也可以使用相关的show.bs.selectshown.bs.select

缺点是,即使我们不更改下拉菜单选择,例如,在没有选择选项的情况下打开并在下拉菜单外单击,我们也会获得事件。

参见bootstrap-select documentation on events

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18658041

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档