如何在bootstrap模态框弹出后触发函数

拜一刀 2015-05-05 10:59:49
我在modal里加了select2,问题是select2初始化之后的长度不会自适应.modal一开始是隐藏的,初始下拉框的长度很短,如果此时初始化的话select2就会特别短orz
我已经试出可以调整select2-selection__arrow,select2-selection--single长度的代码了,只不过要在modal弹出之后触发才能正确调整长度,问题是modal不像winform有onshow这种事件,我该如何安排代码在modal弹出后触发呢?

替代方案是点击select的时候触发select2初始化,不过希望可以在模态框关闭的时候把select2给去掉,一遍重复使用模态框,而且点击第一次后是不会下拉的,所以估计用久了会挺烦的吧.....
...全文
9580 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fcqm8888 2015-07-20
  • 打赏
  • 举报
回复
你的帖子太陈旧了,发点新帖子吧
拜一刀 2015-05-06
  • 打赏
  • 举报
回复
引用 4 楼 awl910213 的回复:

$('#myModal').on('shown.bs.modal', function () {
  $('#myInput').focus()
})
官网写的很清楚了,怎么没有呢
谢了 bootstrap那个官网之前找css样式看的有点蒙,后来就没去看过了,真是失误
艾小仙 2015-05-06
  • 打赏
  • 举报
回复
事件类型 描述 show.bs.modal show 方法调用之后立即触发该事件。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。 shown.bs.modal 此事件在模态框已经显示出来(并且同时在 CSS 过渡效果完成)之后被触发。如果是通过点击某个作为触发器的元素,则此元素可以通过事件的 relatedTarget 属性进行访问。 hide.bs.modal hide 方法调用之后立即触发该事件。 hidden.bs.modal 此事件在模态框被隐藏(并且同时在 CSS 过渡效果完成)之后被触发。 loaded.bs.modal 从远端的数据源加载完数据之后触发该事件。
艾小仙 2015-05-06
  • 打赏
  • 举报
回复

$('#myModal').on('shown.bs.modal', function () {
  $('#myInput').focus()
})
官网写的很清楚了,怎么没有呢
拜一刀 2015-05-05
  • 打赏
  • 举报
回复
select2-search--dropdown还得改宽度....这玩意不是在modal里的,是生成在后面的,还是重新初始化算了..
拜一刀 2015-05-05
  • 打赏
  • 举报
回复
哎哟,不错哟,50ms表现的挺好的,平时用不到settimeout差点给忘了有这功能了 然后看看select2在modal里重用的效果好了,昨天为了这俩货的z-index问题就折腾了半天
拜一刀 2015-05-05
  • 打赏
  • 举报
回复
恩....好像......在触发modal的按钮上加个延时500毫秒可能就行了? 逻辑上好像没啥大问题,不过不知道modal会不会阻止这个事件,等下试试 select2能不能重用也得试试

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧