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基础篇
Nov 13 Javascript
httpclient模拟登陆具体实现(使用js设置cookie)
Dec 11 Javascript
jquery mobile的触控点击事件会多次触发问题的解决方法
May 08 Javascript
jquery实现多行文字图片滚动效果示例代码
Oct 10 Javascript
node.js中的path.extname方法使用说明
Dec 09 Javascript
js中this用法实例详解
May 05 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
举例讲解JavaScript中关于对象操作的相关知识
Nov 16 Javascript
js中实现字符串和数组的相互转化详解
Jan 24 Javascript
ES6正则表达式的一些新功能总结
May 09 Javascript
vue2.0 + ele的循环表单及验证字段方法
Sep 18 Javascript
彻底揭秘keep-alive原理(小结)
May 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
JScript中的&quot;this&quot;关键字使用方式补充材料
2007/03/08 Javascript
JavaScript学习笔记(一) js基本语法
2011/10/25 Javascript
JS自动适应的图片弹窗实例
2013/06/29 Javascript
jQuery实现预加载图片的方法
2015/03/17 Javascript
jQuery实现表格行和列的动态添加与删除方法【测试可用】
2016/08/01 Javascript
Easyui Tree获取当前选择节点的所有顶级父节点
2017/02/14 Javascript
使用jQuery和ajax代替iframe的方法(详解)
2017/04/12 jQuery
快速解决brew安装特定版本flow的问题
2018/05/17 Javascript
在vue中给列表中的奇数行添加class的实现方法
2018/09/05 Javascript
vue+eslint+vscode配置教程
2019/08/09 Javascript
vue element-ui table组件动态生成表头和数据并修改单元格格式 父子组件通信
2019/08/15 Javascript
Layui事件监听的实现(表单和数据表格)
2019/10/17 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
Vue如何实现验证码输入交互
2020/12/07 Vue.js
[20:46]Ti4循环赛第三日VG vs DK
2014/07/12 DOTA
[54:58]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第一场 11.25
2020/11/25 DOTA
[06:07]DOTA2-DPC中国联赛 正赛 Ehome vs VG 选手采访
2021/03/11 DOTA
Python cookbook(数据结构与算法)实现对不原生支持比较操作的对象排序算法示例
2018/03/15 Python
python3解析库pyquery的深入讲解
2018/06/26 Python
Django基础知识与基本应用入门教程
2018/07/20 Python
Python延时操作实现方法示例
2018/08/14 Python
详解python读取和输出到txt
2019/03/29 Python
Django模板Templates使用方法详解
2019/07/19 Python
python3连接kafka模块pykafka生产者简单封装代码
2019/12/23 Python
Python控制台实现交互式环境执行
2020/06/09 Python
Python gevent协程切换实现详解
2020/09/14 Python
详解Html5原生拖拽操作
2018/01/12 HTML / CSS
意大利制造的男鞋和女鞋:SCAROSSO
2018/03/07 全球购物
Zooplus葡萄牙:欧洲领先的网上宠物商店
2018/07/01 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
2014年党员整改措施范文
2014/09/21 职场文书
2014公司年终工作总结
2014/12/19 职场文书
电台广播稿范文
2015/08/19 职场文书
关于springboot 配置date字段返回时间戳的问题
2021/07/25 Java/Android