BootStrap的弹出框(Popover)支持鼠标移到弹出层上弹窗层不隐藏的原因及解决办法


Posted in Javascript onApril 03, 2016

弹出框(Popover)与工具提示(Tooltip)类似,提供了一个扩展的视图。如需激活弹出框,用户只需把鼠标悬停在元素上即可。弹出框的内容完全可使用 Bootstrap 数据 API(Bootstrap Data API)来填充。该方法依赖于工具提示(tooltip)。

1 设置延时, 超过该延时未移入弹窗则弹窗隐藏

Tooltip.prototype.init = function{中的
var triggers = this.options.trigger.split(' ')后面加上
//设置延时
if (this.options.trigger.indexOf('hover') > -1) {
$.extend(true, this.options, { delay: { hide: 100 } });
}

2 控制不消失代码

在Tooltip.prototype.enter = function (obj) {中的

clearTimeout(self.timeout)后加入

if (self.options.trigger.indexOf('hover') > -1) {
self.$tip.unbind('mouseenter').bind('mouseenter', function (e) {
self.$tip.data('data-element', self.$element);//触发popover框的点击事件时可以获取id
clearTimeout(self.timeout);
self.hoverState = 'in';
}).unbind('mouseleave').bind('mouseleave', function (e) {
self.hoverState = 'out';
self.timeout = setTimeout(function () {
if (self.hoverState == 'out') self.hide()
}, self.options.delay.hide)
})
}

bootstrap版本:v3.3.6

下面给大家补充弹出框(Popover)用法

弹出框(Popover)插件根据需求生成内容和标记,默认情况下是把弹出框(popover)放在它们的触发元素后面。您可以有以下两种方式添加弹出框(popover):

通过 data 属性:如需添加一个弹出框(popover),只需向一个锚/按钮标签添加 data-toggle="popover" 即可。锚的 title 即为弹出框(popover)的文本。默认情况下,插件把弹出框(popover)设置在顶部。

<a href="#" data-toggle="popover" title="Example popover">
请悬停在我的上面
</a>

通过 JavaScript:通过 JavaScript 启用弹出框(popover):

$('#identifier').popover(options)

弹出框(Popover)插件不像之前所讨论的下拉菜单及其他插件那样,它不是纯 CSS 插件。如需使用该插件,您必须使用 jquery 激活它(读取 javascript)。使用下面的脚本来启用页面中的所有的弹出框(popover):

$(function () { $("[data-toggle='popover']").popover(); });
Javascript 相关文章推荐
javascript HTMLEncode HTMLDecode的完整实例(兼容ie和火狐)
Jun 02 Javascript
jQuery 处理网页内容的实现代码
Feb 15 Javascript
jquery操作复选框(checkbox)的12个小技巧总结
Feb 04 Javascript
JavaScript实现信用卡校验方法
Apr 07 Javascript
js闭包实现按秒计数
Apr 23 Javascript
javascript实现状态栏中文字动态显示的方法
Oct 20 Javascript
详解js中构造流程图的核心技术JsPlumb(2)
Dec 08 Javascript
canvas实现十二星座星空图
Feb 14 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
Feb 22 Javascript
解决webpack dev-server不能匹配post请求的问题
Aug 24 Javascript
详解基于Vue,Nginx的前后端不分离部署教程
Dec 04 Javascript
jquery.pager.js分页实现详解
Jul 29 jQuery
js一维数组、多维数组和对象的混合使用方法
Apr 03 #Javascript
jQuery实现鼠标选文字发新浪微博的方法
Apr 02 #Javascript
JQuery解析XML的方法小结
Apr 02 #Javascript
javascript HTML5文件上传FileReader API
Mar 27 #Javascript
JavaScript中文件上传API详解
Apr 01 #Javascript
jquery表单验证插件formValidator使用方法
Apr 01 #Javascript
jquery分页插件jquery.pagination.js实现无刷新分页
Apr 01 #Javascript
You might like
PHP4在Windows2000下的安装
2006/10/09 PHP
PHP为表单获取的URL 地址预设 http 字符串函数代码
2010/05/26 PHP
PHP中localeconv()函数的用法
2019/03/26 PHP
Laravel5框架自定义错误页面配置操作示例
2019/04/17 PHP
jQuery父级以及同级元素查找介绍
2013/09/04 Javascript
使用typeof方法判断undefined类型
2014/09/09 Javascript
在JavaScript中操作时间之getYear()方法的使用教程
2015/06/11 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
jQuery查看选中对象HTML代码的方法
2016/06/17 Javascript
把普通对象转换成json格式的对象的简单实例
2016/07/04 Javascript
angularjs+bootstrap菜单的使用示例代码
2017/03/07 Javascript
完美实现js选项卡切换效果(二)
2017/03/08 Javascript
jQuery导航条固定定位效果实例代码
2017/05/26 jQuery
vue-router路由懒加载的实现(解决vue项目首次加载慢)
2018/08/28 Javascript
基于VUE实现的九宫格抽奖功能
2018/09/30 Javascript
VSCode使用之Vue工程配置eslint
2019/04/30 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
详解基于原生JS验证表单组件xy-form
2019/08/20 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
使用Python来开发Markdown脚本扩展的实例分享
2016/03/04 Python
Python列表(List)知识点总结
2019/02/18 Python
在Python中COM口的调用方法
2019/07/03 Python
基于Django的乐观锁与悲观锁解决订单并发问题详解
2019/07/31 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
Python使用plt.boxplot() 参数绘制箱线图
2020/06/04 Python
python获取本周、上周、本月、上月及本季的时间代码实例
2020/09/08 Python
CSS3动画特效在活动页中的应用
2020/01/21 HTML / CSS
韩国著名的在线综合购物网站:Akmall
2016/08/07 全球购物
DC Shoes荷兰官方网站:美国极限运动品牌
2019/10/22 全球购物
什么是makefile? 如何编写makefile?
2012/08/08 面试题
给客户的道歉信
2014/01/13 职场文书
求职简历中自我评价
2014/01/28 职场文书
业务内勤岗位职责
2015/04/13 职场文书
详解Nginx 工作原理
2021/03/31 Servers
详解vue中v-for的key唯一性
2021/05/15 Vue.js
铁拳制作人赞《铁拳7》老头环Mod:制作精良 但别弄了
2022/04/03 其他游戏