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 相关文章推荐
国外Lightbox v2.03.3 最新版 下载
Oct 17 Javascript
初学JavaScript_03(ExtJs Grid的简单使用)
Oct 02 Javascript
jQuery Flash/MP3/Video多媒体插件
Jan 18 Javascript
javascript 保存文件到本地实现方法
Nov 29 Javascript
jQuery 的全选(全非选)即取得被选中的值使用介绍
Nov 12 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
Sep 02 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
Nov 09 Javascript
AngularJS全局scope与Isolate scope通信用法示例
Nov 22 Javascript
javascript 中null和undefined区分和比较
Apr 19 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
Oct 31 Javascript
Vue脚手架的简单使用实例
Jul 10 Javascript
Vue组件基础用法详解
Feb 05 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
全国FM电台频率大全 - 1 北京市
2020/03/11 无线电
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
php强制文件下载而非在浏览器打开的自定义函数分享
2014/05/08 PHP
ThinkPHP之A方法实例讲解
2014/06/20 PHP
CI框架中通过hook的方式实现简单的权限控制
2015/01/07 PHP
Symfony2使用第三方库Upload制作图片上传实例详解
2016/02/04 PHP
php curl批处理实现可控并发异步操作示例
2018/05/09 PHP
php将字符串转换为数组实例讲解
2020/05/05 PHP
js获取单选按钮的数据
2006/11/27 Javascript
解决jquery的.animate()函数在IE6下的问题
2010/12/03 Javascript
windows系统下简单nodejs安装及环境配置
2013/01/08 NodeJs
JavaScript设计模式之工厂方法模式介绍
2014/12/28 Javascript
javascript实现获取浏览器版本、操作系统类型
2015/01/29 Javascript
javascript获得当前的信息的一些常用命令
2015/02/25 Javascript
javascript实现百度地图鼠标滑动事件显示、隐藏
2015/04/02 Javascript
jQuery中的100个技巧汇总
2016/12/15 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
前端MVVM框架解析之双向绑定
2018/01/24 Javascript
layui 数据表格 根据值(1=业务,2=机构)显示中文名称示例
2019/10/26 Javascript
Javascript中的this,bind和that使用实例
2019/12/05 Javascript
Python自动登录126邮箱的方法
2015/07/10 Python
python实现俄罗斯方块
2018/06/26 Python
python判断设备是否联网的方法
2018/06/29 Python
Django教程笔记之中间件middleware详解
2018/08/01 Python
python实现KNN分类算法
2019/10/16 Python
jupyter 中文乱码设置编码格式 避免控制台输出的解决
2020/04/20 Python
python中导入 train_test_split提示错误的解决
2020/06/19 Python
使用CSS3的appearance属性改变任何元素的浏览器默认风格
2012/12/24 HTML / CSS
利用HTML5中的Canvas绘制一张笑脸的教程
2015/05/07 HTML / CSS
英国汽车座椅和婴儿车购物网站:Uber Kids
2017/04/19 全球购物
JSP&Servlet技术面试题
2015/05/21 面试题
五星红旗迎风飘扬观后感
2015/06/17 职场文书
导游词之上海东方明珠塔
2019/09/25 职场文书
MySQL基础(二)
2021/04/05 MySQL
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript