本次要介紹的是 Bootstrap 中的 popover 元件的客製化功能
若要在 popover 失焦時 也就是 onblur 觸發時自動淡出該如何使用呢?
在 Bootstrap 本身並沒有支援這項功能
而且 DIV 本身也不支援 blur 事件
所以我們要使用另外一種方式達成相同的效果
- // Part 1: 初始化 popover 元件
- var button = template.find(".itemInfo button");
- // 加入 class name 以便下一步使用
- button.addClass("popover-toggle");
- var content = $("
test");- button.popover({
- container:"body",
- content: content,
- html:true,
- placement:"top",
- title:"Popover title",
- trigger:'click'
- });
- // Part 2: 加入 click 事件處理
- $(document).on("click", function(event){
- var target = $(event.target);
- $.each( $(".popover-toggle"), function(index, value){
- var _target = $(value);
- // 不是點擊按鈕或 popover 本身時關閉 popover 物件
- if( !target.is( _target ) && target.closest(".popover").length == 0 ){
- _target.popover("hide");
- }
- });
- });