精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

彈出提示框(Popovers)

Bootstrap彈出提示框的文件與示例,風格類似iOS,可加在網頁上的任何元素上。

概述

使用popover插件時需要注意的事項:

  • Popovers依靠第三方庫Popper進行定位。您必須在bootstrap.js之前包含popper.min.js,或者使用bootstrap.bundle.min.js/bootstrap.bundle.js,其中包含popper,這樣popover才能工作!
  • Popovers需要工具提示插件作為依賴項。
  • 由于性能原因,popover是選擇加入的,所以您必須自己初始化它們。
  • 長度為零的標題和內容值永遠不會顯示popover。
  • 指定container:'body'以避免在更復雜的組件(如輸入組、按鈕組等)中呈現問題。
  • 觸發隱藏元素上的彈出窗口將不起作用。
  • 必須在包裝器元素上觸發.disabled或disabled元素的彈出窗口。
  • 當從環繞多行的錨點觸發時,彈出窗口將在錨點的總寬度之間居中。在a上使用.text-nowrap可避免此行為。
  • 必須先隱藏popover,然后才能從DOM中刪除相應的元素。
  • 由陰影DOM中的元素,可以觸發彈出窗口。
默認情況下,此組件使用內置的內容清理器,該清理器將刪除任何不明確允許的HTML元素。有關更多詳細信息,請參閱JavaScript文檔中的“消毒液”部分
此組件的動畫效果取決于“首選簡化運動媒體”查詢。請參閱我們的可訪問性文檔的簡化運動部分。

繼續閱讀一些例子,看看popover是如何工作的。

示例:在任何地方啟用彈出窗口

初始化頁面上所有popover的一種方法是通過其data-bs-toggle屬性選擇它們:

var popoverTriggerList = [].slice.call(document.querySelectorAll('[data-bs-toggle="popover"]'))
var popoverList = popoverTriggerList.map(function (popoverTriggerEl) {
return new bootstrap.Popover(popoverTriggerEl)
})

示例:使用容器選項

當父元素上的某些樣式干擾popover時,您需要指定一個自定義容器,以便popover的HTML顯示在該元素中。

var popover = new bootstrap.Popover(document.querySelector('.example-popover'), {
container: 'body'
})

例子

<button type="button" class="btn btn-lg btn-danger" data-bs-toggle="popover" title="Popover title" data-bs-content="And here's some amazing content. It's very engaging. Right?">Click to toggle popover</button>

四個方向

我們的選擇是可用的:頂部,右側,底部,左對齊。在RTL中使用引導時,方向是鏡像的。

<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="top" data-bs-content="Top popover">
Popover on top
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="right" data-bs-content="Right popover">
Popover on right
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="bottom" data-bs-content="Bottom popover">
Popover on bottom
</button>
<button type="button" class="btn btn-secondary" data-bs-container="body" data-bs-toggle="popover" data-bs-placement="left" data-bs-content="Left popover">
Popover on left
</button>

再一次單擊時關閉

在用戶下一次單擊不同于toggle元素的元素時,使用focus觸發器取消彈出窗口。

下一次單擊時解除所需的特定標記

要實現正確的跨瀏覽器和跨平臺行為,必須使用a標記,而不是button標記,并且還必須包含tabindex屬性。

<a tabindex="0" class="btn btn-lg btn-danger" role="button" data-bs-toggle="popover" data-bs-trigger="focus" title="Dismissible popover" data-bs-content="And here's some amazing content. It's very engaging. Right?">Dismissible popover</a>
var popover = new bootstrap.Popover(document.querySelector('.popover-dismiss'), {
trigger: 'focus'
})

禁用的元素

具有disabled屬性的元素不是交互式的,這意味著用戶不能懸停或單擊它們來觸發popover(或工具提示)。作為一種解決方法,您需要從包裝器div或span觸發popover,最好使用tabindex=“0”使鍵盤可聚焦。

對于禁用的popover觸發器,您也可能更喜歡data-bs-trigger="hover focus",這樣popover會顯示為對用戶的即時視覺反饋,因為用戶可能不希望單擊禁用的元素。

<span class="d-inline-block" tabindex="0" data-bs-toggle="popover" data-bs-trigger="hover focus" data-bs-content="Disabled popover">
<button class="btn btn-primary" type="button" disabled>Disabled button</button>
</span>

Sass

Variables

$popover-font-size:                 $font-size-sm;
$popover-bg:                        $white;
$popover-max-width:                 276px;
$popover-border-width:              $border-width;
$popover-border-color:              rgba($black, .2);
$popover-border-radius:             $border-radius-lg;
$popover-inner-border-radius:       subtract($popover-border-radius, $popover-border-width);
$popover-box-shadow:                $box-shadow;

$popover-header-bg:                 shade-color($popover-bg, 6%);
$popover-header-color:              $headings-color;
$popover-header-padding-y:          .5rem;
$popover-header-padding-x:          $spacer;

$popover-body-color:                $body-color;
$popover-body-padding-y:            $spacer;
$popover-body-padding-x:            $spacer;

$popover-arrow-width:               1rem;
$popover-arrow-height:              .5rem;
$popover-arrow-color:               $popover-bg;

$popover-arrow-outer-color:         fade-in($popover-border-color, .05);

用法

通過JavaScript啟用彈出窗口:

var exampleEl = document.getElementById('example')
var popover = new bootstrap.Popover(exampleEl, options)

讓彈出提示框對鍵盤與輔助技術的用戶有效

要讓鍵盤用戶啟用您的彈出提示框,您應該只將它們添加到傳統可被鍵盤focus和互動的HTML元素(像是連接或是表單元件)。雖然任意的HTML元素(像是span)都可以透過加上tabindex=“0”屬性來focus,但這會讓鍵盤用戶對這些無法互動的元素感到討厭和疑惑,并且大多的輔助技術都不會在這種情況下讀取彈出提示框的內容。另外,請不要僅使用hover來觸發您的彈出提示框,因為鍵盤用戶無法觸發它們。

雖然您可插入豐富、有結構的html選項到彈出提示框中,但我們強烈建議您避免增加過多的內容。它們目前的運作方式是一旦顯示,它的內容將會觸發綁定到aria-describedby屬性。基于此結果,彈出提示框的所有內容將會被輔助技術如流水般的全部讀出。

此外,盡管彈出提示框中可以包含互動元件(例如:表單元素或是連接)(透過增加這些元素到allowList所允許的屬性和標簽),但請注意,當前彈出提示框不會管理鍵盤focus順序。當鍵盤用戶打開彈出提示框,focus仍會停留在觸發的元素上,且因為彈出視窗并不會立即跟著document結構被觸發,因此無法保證鍵盤用戶能使用向前/點擊TAB來移動到彈出提示框中。簡而言之,隨意將互動元件加入到彈出提示框可能會使這些元件無法被鍵盤用戶或輔助技術者讀取或使用,或者使foucs順序不合邏輯。在這樣的情況下,請考慮優先使用modal dialog。

選項

選項可以通過數據屬性或JavaScript傳遞。對于數據屬性,將選項名稱附加到data-bs-,如data-bs-animation=“”中所示。在傳遞數據屬性時,請確保將選項名稱的case類型從camelCase更改為kebab-case。例如:不要使用數據data-bs-customClass="beautifier",而是使用數據data-bs-custom-class="beautifier"

基于安全性的原因,data屬性不提供sanitize,sanitizeFn和allowList選項。
Name Type Default Description
animation boolean true 對popover應用CSS淡入淡出過渡
container string | element | false false

將popover附加到特定元素。示例:container:'body'。此選項特別有用,因為它允許您將popover放在觸發元素附近的文檔流中,這將防止popover在調整窗口大小時從觸發元素中浮動。

content string | element | function ''

如果數據內容屬性不存在,則為默認內容值。

如果給定一個函數,它將被調用,其this引用設置為popover所附加到的元素。

delay number | object 0

延遲顯示和隱藏popover(ms)-不適用于手動觸發器類型

如果提供了數字,則對隱藏/顯示都應用延遲

對象結構是:delay: { "show": 500, "hide": 100 }

html boolean false 在popover中插入HTML。如果為false,innerText屬性將用于將內容插入DOM。如果您擔心XSS攻擊,請使用文本。
placement string | function 'right'

如何定位popover-自動|頂部|底部|左側|右側?當指定auto時,它將動態地重新定向popover。

當一個函數用于確定位置時,調用它時,popover DOM節點是它的第一個參數,觸發元素DOM節點是它的第二個參數。此上下文設置為popover實例。

selector string | false false 如果提供了選擇器,popover對象將被委托給指定的目標。實際上,這是用來使動態HTML內容添加popover的。請看這個和一個信息豐富的例子。
template string '<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'

創建popover時要使用的基本HTML。

opover的標題將被注入到.popover頭中。

彈出提示框的content將被注入到.popover-body中。

.popover-arrow 將成為彈出提示框的箭頭。

最外層的元素必須有.popover這個class。

title string | element | function ''

如果標題屬性不存在,則為默認標題值。

如果給定一個函數,它將被調用,其this引用設置為popover所附加到的元素。

trigger string 'click' 如何觸發彈出窗口-單擊|懸停|聚焦|手動。您可以傳遞多個觸發器;用空格隔開。手動不能與任何其他觸發器組合。
fallbackPlacements array ['top', 'right', 'bottom', 'left'] 通過提供數組中的放置列表(按優先順序)定義回退位置。有關更多信息,請參閱波普爾的行為文檔
boundary string | element 'clippingParents' opover的溢出約束邊界。默認情況下,它是'clippingParents',可以接受HTMLElement引用(僅限于JavaScript)。有關更多信息,請參閱波普爾的文件。
customClass string | function ''

在彈出窗口顯示時向其添加類。請注意,這些類將添加到模板中指定的任何類之外。要添加多個類,請用空格分隔它們:“class-1 class-2”。

還可以傳遞一個函數,該函數應返回一個包含其他類名的字符串。

sanitize boolean true 啟用或禁用消毒。如果激活“模板”,“內容”和“標題”選項將被清除。請參閱我們的JavaScript文檔中的消毒劑部分。
allowList object Default value 包含允許的屬性和標記的對象
sanitizeFn null | function null 在這里,您可以提供您自己的消毒功能。如果您喜歡使用專用的庫來執行清理,這將非常有用。
offset array | string | function [0, 8]

popover相對于其目標的偏移量。您可以用逗號分隔的值在數據屬性中傳遞字符串,例如:data bs offset=“10,20”

當一個函數用于確定偏移量時,調用它的第一個參數是包含popper放置、引用和popper rects的對象。觸發元素DOM node作為第二個參數傳遞。函數必須返回一個包含兩個數字的數組:[滑動,距離]。 [滑動, 距離].

有關更多信息,請參閱波普爾的抵銷單。 offset docs.

popperConfig null | object | function null

要更改引導的默認Popper配置,請參閱Popper的配置。 .

當一個函數被用來創建Popper配置時,它被一個包含引導的默認Popper配置的對象調用。它可以幫助您使用默認配置并將其與您自己的配置合并。函數必須返回Popper的配置對象。

單個popover的數據屬性

也可以通過使用數據屬性來指定各個popover的選項,如上所述。

將函數與popperConfig一起使用

var popover = new bootstrap.Popover(element, {
popperConfig: function (defaultBsPopperConfig) {
// var newPopperConfig = {...}
    // use defaultBsPopperConfig if needed...
    // return newPopperConfig
  }
})

方法

Asynchronous methods and transitions

All API methods are asynchronous and start a transition. They return to the caller as soon as the transition is started but before it ends. In addition, a method call on a transitioning component will be ignored.

See our JavaScript documentation for more information.

顯示

顯示元素的popover。在實際顯示popover之前(即在show.bs.popover事件發生之前)返回調用方。這被認為是popover的“手動”觸發。標題和內容均為零長度的彈出窗口永遠不會顯示。

myPopover.show()

隱藏

隱藏元素的彈出提示框。在彈出提示框實際被隱藏之前返回給調用者(也就是在hidden.bs.popover事件發生之前。)彈出提示框會被認為是“manual”觸發。

myPopover.hide()

切換

切換元素的彈出提示框。在彈出提示框實際被顯示或隱藏之前返回給調用者(也就是在shown.bs.popover或hidden.bs.popover事件發生之前。)彈出提示框會被認為是“manual”觸發。

myPopover.toggle()

銷毀

隱藏和銷毀一個元素的彈出提示框(將移除在DOM元素上儲存的數據。)被委派的彈出提示框(使用the selector option創建)不能在后代觸發元素上單獨銷毀。

myPopover.dispose()

可用

使元素的彈出提示框能夠顯示。彈出提示框預設啟用顯示。

myPopover.enable()

禁用

取消顯示元素的popover的功能。只有重新啟用時才能顯示popover。

myPopover.disable()

切換可用

切換顯示或隱藏彈出提示框功能。

myPopover.toggleEnabled()

更新

更新彈出提示框的位置。

myPopover.update()

獲取實例

允許您取得DOM元素上彈出提示框實體的靜態方法。

var exampleTriggerEl = document.getElementById('example')
var popover = bootstrap.Popover.getInstance(exampleTriggerEl) // Returns a Bootstrap popover instance

事件

Event type Description
show.bs.popover 當調用show實例方法時,此事件會立即觸發。
shown.bs.popover 當彈出提示框啟用并為使用者可見時,此事件會立即觸發。(待CSS轉換完成)。
hide.bs.popover 調用hide實例方法后,將立即觸發此事件。
hidden.bs.popover 當彈出提示框啟用并為不可見時,此事件會立即觸發。(待CSS轉換完成)。
inserted.bs.popover 當將彈出提示框加到DOM時,此事件在show.bs.popover后觸發。
var myPopoverTrigger = document.getElementById('myPopover')
myPopoverTrigger.addEventListener('hidden.bs.popover', function () {
// do something...
})
返回頂部
精品久久久久久亚洲精品_成人午夜网站_www日本高清_亚洲精品久久久久午夜福

      9000px;">

          久久综合给合久久狠狠狠97色69| 91成人免费在线| 亚洲成人av一区二区三区| 国产精品午夜久久| 久久九九国产精品| 欧美成人vps| 精品粉嫩超白一线天av| 4438x亚洲最大成人网| 欧美猛男超大videosgay| 在线精品视频免费观看| 日本韩国一区二区三区视频| 日本久久一区二区三区| 色拍拍在线精品视频8848| 色综合一个色综合亚洲| 日本久久电影网| 欧美精品丝袜中出| 日韩精品一区二区三区视频在线观看| 91麻豆精品国产无毒不卡在线观看| 在线电影院国产精品| 日韩一区二区三区四区| 久久综合九色综合欧美亚洲| 久久久久久久综合狠狠综合| 日本一区二区电影| 亚洲欧美一区二区视频| 一区二区三区高清不卡| 亚洲成人一区二区| 蜜臀久久99精品久久久画质超高清| 捆绑调教一区二区三区| 粉嫩嫩av羞羞动漫久久久| 色94色欧美sute亚洲线路一ni| 在线观看日韩电影| 日韩欧美成人午夜| 亚洲日本在线观看| 日韩国产在线观看| 国产98色在线|日韩| 欧美日韩亚洲不卡| 久久久久久综合| 亚洲制服丝袜av| 国产一区 二区 三区一级| 91猫先生在线| 日韩一级二级三级精品视频| 国产精品天干天干在观线| 香蕉成人啪国产精品视频综合网 | 欧美婷婷六月丁香综合色| 精品国产免费人成在线观看| 亚洲激情在线激情| 老司机精品视频导航| 不卡一区二区中文字幕| 精品乱人伦一区二区三区| 亚洲品质自拍视频| 国内外精品视频| 欧美日韩一区小说| 亚洲欧洲在线观看av| 亚洲6080在线| 成人免费电影视频| 日韩一区二区三区四区五区六区 | 欧美日韩国产高清一区二区三区| 国产丝袜美腿一区二区三区| 亚洲777理论| 欧美午夜一区二区三区免费大片| 国产无人区一区二区三区| 美女一区二区在线观看| 欧美影院一区二区| 亚洲欧美另类图片小说| 成人午夜电影网站| 国产亚洲欧洲一区高清在线观看| 亚洲国产日韩一区二区| 色婷婷综合激情| 亚洲特级片在线| 成人精品视频一区| 久久久久亚洲综合| 国产乱码精品一区二区三| 日韩欧美高清一区| 免费不卡在线视频| 69成人精品免费视频| 婷婷夜色潮精品综合在线| 在线视频中文字幕一区二区| 亚洲色图19p| 色综合久久久久久久久久久| 亚洲猫色日本管| 在线观看日韩国产| 亚洲国产另类精品专区| 欧美日韩一二区| 午夜精品国产更新| 91精品久久久久久久91蜜桃| 青草国产精品久久久久久| 日韩美女一区二区三区| 国产一区在线观看视频| 国产女人18水真多18精品一级做 | 日韩西西人体444www| 另类小说综合欧美亚洲| 日韩午夜激情免费电影| 国产成人在线看| 亚洲欧美一区二区三区久本道91| 在线视频国产一区| 日韩av网站在线观看| 精品成人a区在线观看| 国产成人久久精品77777最新版本| 中文字幕 久热精品 视频在线 | 精品久久久久一区| 国产91精品久久久久久久网曝门| 国产精品毛片无遮挡高清| 色94色欧美sute亚洲线路一ni| 日韩电影一区二区三区四区| 国产日韩av一区二区| 日本韩国一区二区三区| 九九精品视频在线看| 综合在线观看色| 日韩欧美专区在线| www.欧美亚洲| 麻豆精品久久久| 日韩一区中文字幕| 欧美一级二级在线观看| 国产成人h网站| 性感美女极品91精品| 国产日韩精品一区二区浪潮av| 欧美揉bbbbb揉bbbbb| 成人深夜视频在线观看| 日韩电影在线一区二区三区| 中文字幕五月欧美| 日韩精品资源二区在线| 91福利社在线观看| 成人午夜私人影院| 黑人巨大精品欧美一区| 亚洲国产成人tv| 中文无字幕一区二区三区| 欧美电影免费观看完整版| 日本久久电影网| av午夜精品一区二区三区| 美国一区二区三区在线播放| 亚洲最新视频在线观看| 中文字幕高清一区| 欧美精品一区二区在线播放| 欧美美女黄视频| 色悠久久久久综合欧美99| 国产成人欧美日韩在线电影| 蜜臀久久久久久久| 日本亚洲视频在线| 亚洲成av人片| 一区二区三区精品| 亚洲免费av高清| 亚洲欧美一区二区久久 | 欧美女孩性生活视频| 岛国一区二区三区| 在线观看亚洲精品| 成人禁用看黄a在线| 国内精品伊人久久久久影院对白| 亚洲激情第一区| 国产精品久久久久影院| 久久久久国产精品人| 精品电影一区二区| 精品国产伦一区二区三区免费 | av在线不卡免费看| 成人免费视频播放| 国产精品亚洲专一区二区三区| 精品综合久久久久久8888| 韩国一区二区三区| 国产精品亚洲第一| 丁香婷婷综合色啪| 国产v综合v亚洲欧| eeuss鲁片一区二区三区| 91在线一区二区三区| 色婷婷亚洲精品| 欧美久久久久免费| 日韩欧美专区在线| 国产亚洲综合在线| 亚洲欧美国产77777| 亚洲精品成a人| 日本不卡在线视频| 国产成人在线视频播放| 91亚洲精品久久久蜜桃网站 | 国产农村妇女毛片精品久久麻豆| 国产精品视频第一区| 亚洲欧美偷拍三级| 天天亚洲美女在线视频| 国产在线一区观看| 色欧美乱欧美15图片| 制服丝袜成人动漫| 日本一区二区电影| 视频一区在线视频| 福利一区福利二区| 欧美午夜精品一区二区蜜桃| 欧美电影免费观看高清完整版 | 午夜精品影院在线观看| 国产一区在线不卡| 色偷偷一区二区三区| 欧美一区二区三区婷婷月色| 日本一区二区三区视频视频| 亚洲午夜激情网站| 国产麻豆一精品一av一免费| 色婷婷综合久久久中文字幕| 日韩一区二区三区精品视频 | 日韩欧美国产综合一区| 亚洲欧美另类久久久精品| 日本欧洲一区二区| 99免费精品视频| 精品国产制服丝袜高跟| 一区二区三区四区不卡在线| 黑人精品欧美一区二区蜜桃 | 国产精品嫩草影院av蜜臀|