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 YUI 读码日记之 YAHOO.util.Dom - Part.3
Mar 22 Javascript
利用JQuery为搜索栏增加tag提示
Jun 22 Javascript
js 全兼容可高亮二级缓冲折叠菜单
Jun 04 Javascript
JavaScript 基础篇之运算符、语句(二)
Apr 07 Javascript
jquery动态添加删除一行数据示例
Jun 12 Javascript
JavaScript中使用concat()方法拼接字符串的教程
Jun 06 Javascript
Bootstrap每天必学之折叠(Collapse)插件
Apr 25 Javascript
JS Ajax请求如何防止重复提交
Jun 13 Javascript
详解如何在angular2中获取节点
Nov 23 Javascript
js实现input密码框显示/隐藏功能
Sep 10 Javascript
Vuex 单状态库与多模块状态库详解
Dec 11 Javascript
es6 super关键字的理解与应用实例分析
Feb 15 Javascript
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
php中通过DirectoryIterator删除整个目录的方法
2015/03/13 PHP
PHP连接access数据库
2015/03/27 PHP
php生成4位数字验证码的实现代码
2015/11/23 PHP
ThinkPHP框架表单验证操作方法
2017/07/19 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
document.compatMode介绍
2009/05/21 Javascript
什么是DOM(Document Object Model)文档对象模型
2012/03/05 Javascript
JavaScript判断密码强度(自写代码)
2013/09/06 Javascript
js取消单选按钮选中并判断对象是否为空
2013/11/14 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
Vue隐藏显示、只读实例代码
2018/07/18 Javascript
Vuex的初探与实战小结
2018/11/26 Javascript
JS实现纵向轮播图(初级版)
2020/01/18 Javascript
[57:50]DOTA2上海特级锦标赛主赛事日 - 4 胜者组决赛Secret VS Liquid第二局
2016/03/05 DOTA
[45:25]OG vs EG 2019国际邀请赛淘汰赛 胜者组 BO3 第一场 8.22
2019/09/05 DOTA
python中执行shell命令的几个方法小结
2014/09/18 Python
Python列表list排列组合操作示例
2018/12/18 Python
Python3获取拉勾网招聘信息的方法实例
2019/04/03 Python
利用python开发app实战的方法
2019/07/09 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
python实现代码统计器
2019/09/19 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
html5开发之viewport使用
2013/10/17 HTML / CSS
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
武汉英思工程科技有限公司&ndash;ORACLE面试测试题目
2012/04/30 面试题
餐厅考勤管理制度
2014/01/28 职场文书
学校节能宣传周活动总结
2014/07/09 职场文书
讲文明知礼仪演讲稿
2014/09/13 职场文书
学校运动会广播稿
2014/10/11 职场文书
合同纠纷调解书
2015/05/20 职场文书
离职证明范本
2015/06/12 职场文书
工作报告范文
2019/06/20 职场文书
盘点2020年适合农村地区创业的项目
2019/10/16 职场文书
react国际化react-intl的使用
2021/05/06 Javascript
A22国内电台短波广播频率表
2022/05/10 无线电