博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bootstrap源码学习与示例:bootstrap-popover
阅读量:6106 次
发布时间:2019-06-21

本文共 4215 字,大约阅读时间需要 14 分钟。

bootstrap-popover是bootstrap-toolbar的子类。它就比toolbar多一个content参数,其他就是一些默认值不同。与toolbar一样没有自定义事件。

名称 类型 默认 描述
animation 布尔值 true 为弹出提示添加一个淡入的过渡。
placement 字符串或函数 'right' 弹出提示的位置:top | bottom | left | right。
selector 字符串 false 如果提供了selector,将对符合条件的某个或多个元素启用工具提示。
trigger 字符串 'hover' 弹出提示的触发方式:鼠标经过(hover) | 获得焦点(focus) | 手动触发(manual)
title 字符串或函数 '' 如果元素没有指定'title'属性,就使用该值做为默认的标题。
content 字符串或函数 '' 如果元素没有指定'data-content'属性,就使用该值做为默认的内容。
delay 数字或对象 0

显示和隐藏时的延迟时间(以毫秒计)

如果提供的是一个数字,延迟就会同时被应用到显示和隐藏。

如果是一个对象,其结构就是: delay: { show: 500, hide: 100 }

不过最近2.2.3有点奇怪,它默认的触发事件是点击。

由于是子类,因此引入JS,至少引入四个JS文件:jquery库,bootstrap-transition.js,bootstrap-tooltip.js与bootstrap-popover.js

!function ($) {    "use strict"; // jshint ;_;    /* POPOVER PUBLIC CLASS DEFINITION  * =============================== */    var Popover = function (element, options) {        this.init('popover', element, options)    }    /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js     ========================================== */    Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {        constructor: Popover        ,         setContent: function () {            var $tip = this.tip()//取得模板            , title = this.getTitle()//取得标题            , content = this.getContent()//取得正文            $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)            $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)            //移除原先的所有位置与特效的类名            $tip.removeClass('fade top bottom left right in')        }        ,         hasContent: function () {            return this.getTitle() || this.getContent()        }        ,         getContent: function () {            var content            , $e = this.$element            , o = this.options            content = $e.attr('data-content')            || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)            return content        }        ,         tip: function () {            if (!this.$tip) {                this.$tip = $(this.options.template)            }            return this.$tip        }        ,         destroy: function () {            this.hide().$element.off('.' + this.type).removeData(this.type)        }    })    /* POPOVER PLUGIN DEFINITION  * ======================= */    var old = $.fn.popover    $.fn.popover = function (option) {        return this.each(function () {            var $this = $(this)            , data = $this.data('popover')            , options = typeof option == 'object' && option            if (!data) $this.data('popover', (data = new Popover(this, options)))            if (typeof option == 'string') data[option]()        })    }    $.fn.popover.Constructor = Popover    $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {        placement: 'right'        ,         trigger: 'hover'        ,         content: ''//模板结构比tooltip复杂一点,用于放置更多的内容        ,         template: '

' }) /* POPOVER NO CONFLICT * =================== */ $.fn.popover.noConflict = function () { $.fn.popover = old return this }}(window.jQuery);
<!DOCTYPE html> <html> <head> <title>bootstrap学习 by 司徒正美</title> <meta http-equiv="Content-type" content="text/html; charset=utf-8"> <link rel="stylesheet" href="http://files.cnblogs.com/rubylouvre/bootstrap.css"/> <script src="http://files.cnblogs.com/rubylouvre/jquery1.83.js" > </script> <script src="http://files.cnblogs.com/rubylouvre/bootstrap-transition.js"></script> <script src="http://files.cnblogs.com/rubylouvre/bootstrap-tooltip.js"></script> <script src="http://files.cnblogs.com/rubylouvre/bootstrap-popover.js"></script> <script src="http://files.cnblogs.com/rubylouvre/bootstrap-button.js"></script> <script > $(function () { var log = function(s){ window.console && console.log(s) } $('.well a').popover() }) </script> <script> </script> </head> <body> <br/> <br/> <h3>by 司徒正美</h3> <br/> <div class="well"> <a href="#" class="btn btn-danger" rel="popover" data-content="他来自山东,是一名残疾人,因思想独立、指谪政弊而被政府迫害。地方政府和当权政要派专人看管他,调拨专款作为对他的看管费用,他每天都活在别人的监视和囚禁中,其遭遇只能用令人发指来形容。历尽万难,他终于成功逃离了当地,在外国使节的帮助和护送下去到了国外。他,就是孙膑。" data-original-title="他是谁">鼠标经过弹出提示</a> </div> </body> </html>

运行代码

转载地址:http://gbhza.baihongyu.com/

你可能感兴趣的文章
android studio修改新项目package名称
查看>>
深入python的set和dict
查看>>
C++ 11 lambda
查看>>
Hadoop2.5.0 搭建实录
查看>>
实验吧 recursive write up
查看>>
High-speed Charting Control--MFC绘制图表(折线图、饼图、柱形图)控件
查看>>
go test命令參数问题
查看>>
linux 搜索文本
查看>>
超实用Mac软件分享(二)
查看>>
Android JSON数据解析
查看>>
DEV实现日期时间效果
查看>>
java注解【转】
查看>>
Oracle表分区
查看>>
centos 下安装g++
查看>>
嵌入式,代码调试----GDB扫盲
查看>>
类斐波那契数列的奇妙性质
查看>>
配置设置[Django]引入模版之后报错Requested setting TEMPLATE_DEBUG, but settings are not configured....
查看>>
下一步工作分配
查看>>
Response. AppendHeader使用大全及文件下载.net函数使用注意点(转载)
查看>>
Wait Functions
查看>>