关于bootstrap下拉框组件点击后不自动关闭的处理
我们在使用bootstrap下拉框组件时,有时会有如下需求,比如,下拉框中有分页的需求,如果你点击翻页时那下拉框会自动关闭,再打开下拉框又会重新刷新,这肯定是不满足条件的。所以就会有点击后不关闭的需求。这种需求实现的方法其实不难,就两个步骤:
第一步:在你需要点击后不关闭的组件的标签中加入一个属性:data-stopPropagation="true"
,例如:
<ul class="dropdown-menu" role="menu" id="channel-menu"> <li class="divider"></li> <li id="paging"> <ul class="pagination pagination-sm" style="margin: 0 0;"> <li><a href="#" id="previous" data-stopPropagation="true" onclick="prevPage()">«</a></li> <!-- <li><a href="#" data-stopPropagation="true">1</a></li> <li><a href="#" data-stopPropagation="true">2</a></li> <li><a href="#" data-stopPropagation="true">3</a></li> <li><a href="#" data-stopPropagation="true">4</a></li> --> <li><a href="#" id="next" data-stopPropagation="true" onclick="nextPage()">»</a></li> </ul> </li> </ul>
此段代码就是一个下拉框组,在下拉框中有分页设置,在分页部分的每个标签中都添加了data-stopPropagation="true"
这个属性。这只是第一步,第二步也很简单。
第二步:在js代码中注册一个监听器,监听具有这个data-stopPropagation属性的标签,点击时不关闭,代码如下:
$("ul.dropdown-menu").on("click", "[data-stopPropagation]",function(e) { e.stopPropagation(); });
这时再去尝试下发现点击后下拉框组不会自动关闭,大功告成。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
前端实现输入框input输入时,调用后台查询。
这几天做了一个前端html页面,基于bootstrap框架开发,里面有个需求就是在输入框中输入字母或者文字时,下拉框自动刷新模糊查询出的信息。最初我的想法是监控键盘上的按键输入,每次输入一个字母后,发送异步请求至服务端进行数据查询。但是后来发现,这种方式做出来会有一个问题,就是这个监控是全局的,也就是页面刷新后,只要你按键盘,就会调用异步请求发送数据,这样跟我的设计思路是有出入的。 然后我查了很多资料,发现有一种方式可以监控某个输入框体中的变化,只要框体内容有变化,就会触发函数。具体实现如下。 首先先写好前端html,前端开发时先引入jquery和bootstrap相关组件: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="../bootstrap/css/boots...
- 下一篇
ElasticSearch_异常_01_org.elasticsearch.transport.ReceiveTimeoutTranspor...
一、异常信息 项目启动时 2018-04-17 16:32:16.496 INFO 15992 --- [ main] o.s.d.e.c.TransportClientFactoryBean : adding transport node : localhost:9300 2018-04-17 16:32:21.627 INFO 15992 --- [ main] org.elasticsearch.client.transport : [Thomas Halloway] failed to get node info for {#transport#-1}{127.0.0.1}{127.0.0.1:9300}, disconnecting... org.elasticsearch.transport.ReceiveTimeoutTransportException: [][127.0.0.1:9300][cluster:monitor/nodes/liveness] request_id [0] timed out after [5002ms] at org.elasticsear...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- 设置Eclipse缩进为4个空格,增强代码规范
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长