Source

Popovers

ឯកសារ និងឧទាហរណ៍សម្រាប់ការបន្ថែម Bootstrap popovers ដូចជាអ្វីដែលរកឃើញនៅក្នុង iOS ទៅធាតុណាមួយនៅលើគេហទំព័ររបស់អ្នក។

ទិដ្ឋភាពទូទៅ

អ្វីដែលត្រូវដឹងនៅពេលប្រើកម្មវិធីជំនួយ popover៖

  • Popovers ពឹងផ្អែកលើបណ្ណាល័យភាគីទី 3 Popper.js សម្រាប់ការកំណត់ទីតាំង។ អ្នកត្រូវតែបញ្ចូល popper.min.js មុនពេល bootstrap.js ឬប្រើ bootstrap.bundle.min.js/ bootstrap.bundle.jsដែលមាន Popper.js ដើម្បីឱ្យ popovers ដំណើរការ!
  • Popovers ទាមទារ កម្មវិធីជំនួយព័ត៌មានជំនួយ ជាការពឹងផ្អែក។
  • ប្រសិនបើអ្នកកំពុងបង្កើត JavaScript របស់យើងពីប្រភព វា ទាមទារutil.js .
  • Popovers ត្រូវបានជ្រើសរើសសម្រាប់ហេតុផលនៃការអនុវត្ត ដូច្នេះ អ្នកត្រូវតែចាប់ផ្តើម វា ដោយខ្លួនឯង
  • ប្រវែងសូន្យ titleនិង contentតម្លៃនឹងមិនបង្ហាញការលេចឡើងនោះទេ។
  • បញ្ជាក់ container: 'body'ដើម្បីជៀសវាងបញ្ហាក្នុងការបង្ហាញនៅក្នុងសមាសធាតុស្មុគ្រស្មាញ (ដូចជាក្រុមបញ្ចូលរបស់យើង ក្រុមប៊ូតុង។ល។)។
  • ការ​កេះ​ផ្ទាំង​ព័ត៌មាន​លើ​ធាតុ​លាក់​នឹង​មិន​ដំណើរការ​ទេ។
  • Popovers .disableddisabledធាតុត្រូវតែត្រូវបានកេះនៅលើធាតុរុំ។
  • នៅពេលដែលត្រូវបានកេះចេញពីយុថ្កាដែលរុំឆ្លងកាត់បន្ទាត់ជាច្រើន ផ្ទាំងប៉ុបនឹងស្ថិតនៅចំកណ្តាលរវាងទទឹងទាំងមូលរបស់យុថ្កា។ ប្រើ .text-nowrapនៅលើរបស់អ្នក <a>ដើម្បីជៀសវាងអាកប្បកិរិយានេះ។
  • Popovers ត្រូវតែលាក់ មុនពេលធាតុដែលត្រូវគ្នារបស់ពួកគេត្រូវបានយកចេញពី DOM ។

បន្តអានដើម្បីមើលពីរបៀបដែល popovers ដំណើរការជាមួយនឹងឧទាហរណ៍មួយចំនួន។

ឧទាហរណ៍៖ បើកការលេចឡើងនៅគ្រប់ទីកន្លែង

វិធីមួយដើម្បីចាប់ផ្តើមការលេចឡើងទាំងអស់នៅលើទំព័រមួយគឺដើម្បីជ្រើសរើសពួកវាតាម data-toggleគុណលក្ខណៈរបស់ពួកគេ៖

$(function () {
  $('[data-toggle="popover"]').popover()
})

ឧទាហរណ៍៖ ការប្រើប្រាស់ containerជម្រើស

នៅពេលដែលអ្នកមានរចនាប័ទ្មមួយចំនួននៅលើធាតុមេដែលជ្រៀតជ្រែកជាមួយ popover មួយ អ្នកនឹងចង់បញ្ជាក់ផ្ទាល់ខ្លួន containerដើម្បីឱ្យ HTML របស់ popover លេចឡើងនៅក្នុងធាតុនោះជំនួសវិញ។

$(function () {
  $('.example-popover').popover({
    container: 'body'
  })
})

ឧទាហរណ៍

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

ទិសទាំងបួន

មានជម្រើសចំនួនបួន៖ ខាងលើ ស្តាំ បាត និងតម្រឹមឆ្វេង។

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on top
</button>

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on right
</button>

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus
sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on bottom
</button>

<button type="button" class="btn btn-secondary" data-container="body" data-toggle="popover" data-placement="left" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus.">
  Popover on left
</button>

ច្រានចោលនៅពេលចុចបន្ទាប់

ប្រើ focusគន្លឹះដើម្បីច្រានចោលការលេចឡើងនៅលើការចុចបន្ទាប់របស់អ្នកប្រើនៃធាតុផ្សេងគ្នាជាងធាតុបិទបើក។

តម្រូវឱ្យមានការសម្គាល់ជាក់លាក់សម្រាប់ការបដិសេធនៅពេលចុចបន្ទាប់

សម្រាប់ឥរិយាបថឆ្លងកាត់កម្មវិធីរុករក និងឆ្លងវេទិកាត្រឹមត្រូវ អ្នកត្រូវតែប្រើ <a>ស្លាក មិនមែន ស្លាក <button>ទេ ហើយអ្នកក៏ត្រូវបញ្ចូល tabindexគុណលក្ខណៈផងដែរ។

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

ធាតុពិការ

ធាតុ​ដែល​មាន disabled​គុណលក្ខណៈ​មិន​មាន​អន្តរកម្ម​ទេ​ មាន​ន័យ​ថា​អ្នក​ប្រើ​មិន​អាច​ដាក់​ ឬ​ចុច​វា​ដើម្បី​បង្ក​ឱ្យ​លេច​ចេញ​ (ឬ​ព័ត៌មាន​ជំនួយ)។ ក្នុងនាមជាដំណោះស្រាយមួយ អ្នកនឹងចង់កេះ popover ពី wrapper <div><span>ហើយបដិសេធ pointer-eventsលើធាតុដែលបិទ។

សម្រាប់​ការ​កេះ popover ដែល​បាន​បិទ អ្នក​ក៏​អាច​ចូលចិត្ត​ដែរ data-trigger="hover"ដូច្នេះ​ popover លេចឡើង​ជា​មតិ​កែលម្អ​ដែល​មើល​ឃើញ​ភ្លាមៗ​ចំពោះ​អ្នក​ប្រើ​របស់​អ្នក ព្រោះ​ពួកគេ​ប្រហែល​ជា​មិន​រំពឹង​ថា​នឹង ​ចុច ​លើ​ធាតុ​ដែល​បិទ។

<span class="d-inline-block" data-toggle="popover" data-content="Disabled popover">
  <button class="btn btn-primary" style="pointer-events: none;" type="button" disabled>Disabled button</button>
</span>

ការប្រើប្រាស់

បើកដំណើរការ popovers តាមរយៈ JavaScript៖

$('#example').popover(options)

ជម្រើស

ជម្រើសអាចត្រូវបានឆ្លងកាត់តាមរយៈគុណលក្ខណៈទិន្នន័យ ឬ JavaScript ។ សម្រាប់គុណលក្ខណៈទិន្នន័យ សូមបន្ថែមឈ្មោះជម្រើសទៅ data-ដូចក្នុង data-animation="".

ឈ្មោះ ប្រភេទ លំនាំដើម ការពិពណ៌នា
ចលនា ប៊ូលីន ពិត អនុវត្តការផ្លាស់ប្តូរបន្ថយ CSS ទៅ popover
ធុង ខ្សែអក្សរ | ធាតុ | មិនពិត មិនពិត

បន្ថែម popover ទៅធាតុជាក់លាក់មួយ។ ឧទាហរណ៍៖ container: 'body'. ជម្រើសនេះមានប្រយោជន៍ជាពិសេសក្នុងការដែលវាអនុញ្ញាតឱ្យអ្នកកំណត់ទីតាំង popover នៅក្នុងលំហូរនៃឯកសារនៅជិតធាតុកេះ - ដែលនឹងការពារ popover ពីការអណ្តែតចេញពីធាតុកេះកំឡុងពេលផ្លាស់ប្តូរទំហំបង្អួច។

មាតិកា ខ្សែអក្សរ | ធាតុ | មុខងារ ''

តម្លៃមាតិកាលំនាំដើម ប្រសិនបើ data-contentគុណលក្ខណៈមិនមានវត្តមាន។

ប្រសិនបើមុខងារត្រូវបានផ្តល់ឱ្យ វានឹងត្រូវបានគេហៅជាមួយនឹង thisការកំណត់របស់វាទៅកាន់ធាតុដែល popover ត្រូវបានភ្ជាប់។

ពន្យាពេល លេខ | វត្ថុ 0

ការពន្យាពេលបង្ហាញ និងលាក់ popover (ms) - មិនអនុវត្តចំពោះប្រភេទកេះដោយដៃទេ។

ប្រសិនបើលេខត្រូវបានផ្គត់ផ្គង់ ការពន្យារពេលត្រូវបានអនុវត្តចំពោះទាំងលាក់/បង្ហាញ

រចនាសម្ព័ន្ធវត្ថុគឺ៖delay: { "show": 500, "hide": 100 }

html ប៊ូលីន មិនពិត បញ្ចូល HTML ទៅក្នុង popover ។ ប្រសិនបើមិនពិត វិធីសាស្ត្ររបស់ jQuery textនឹងត្រូវបានប្រើដើម្បីបញ្ចូលមាតិកាទៅក្នុង DOM ។ ប្រើអត្ថបទប្រសិនបើអ្នកព្រួយបារម្ភអំពីការវាយប្រហារ XSS ។
ការដាក់ ខ្សែអក្សរ | មុខងារ 'ត្រូវ'

របៀបដាក់ popover - auto | កំពូល | បាត | ឆ្វេង | ត្រឹមត្រូវ។
នៅពេលដែល autoត្រូវបានបញ្ជាក់ វានឹងតម្រង់ទិស popover ឡើងវិញដោយថាមវន្ត។

នៅពេលដែលអនុគមន៍មួយត្រូវបានប្រើដើម្បីកំណត់ការដាក់ វាត្រូវបានហៅជាមួយថ្នាំង DOM popover ជាអាគុយម៉ង់ដំបូងរបស់វា និងធាតុបង្កកថ្នាំង DOM ជាលើកទីពីររបស់វា។ បរិបទ thisត្រូវបានកំណត់ទៅឧទាហរណ៍ popover ។

អ្នកជ្រើសរើស ខ្សែអក្សរ | មិនពិត មិនពិត ប្រសិនបើឧបករណ៍ជ្រើសរើសត្រូវបានផ្តល់ឱ្យ វត្ថុ popover នឹងត្រូវបានផ្ទេរទៅគោលដៅដែលបានបញ្ជាក់។ នៅក្នុងការអនុវត្ត វាត្រូវបានប្រើដើម្បីបើកមាតិកា HTML ថាមវន្ត ដើម្បីឱ្យមានការបន្ថែម popovers ។ សូមមើល នេះ និង ឧទាហរណ៍ព័ត៌មាន
គំរូ ខ្សែអក្សរ '<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>'

មូលដ្ឋាន HTML ដើម្បីប្រើនៅពេលបង្កើត popover ។

Popover's titleនឹងត្រូវបានចាក់ចូលទៅក្នុង .popover-header.

Popover's contentនឹងត្រូវបានចាក់ចូលទៅក្នុង .popover-body.

.arrowនឹងក្លាយជាព្រួញរបស់ popover ។

ធាតុរុំខាងក្រៅបំផុតគួរតែមាន .popoverថ្នាក់។

ចំណងជើង ខ្សែអក្សរ | ធាតុ | មុខងារ ''

តម្លៃចំណងជើងលំនាំដើម ប្រសិនបើ titleគុណលក្ខណៈមិនមានវត្តមាន។

ប្រសិនបើមុខងារត្រូវបានផ្តល់ឱ្យ វានឹងត្រូវបានគេហៅជាមួយនឹង thisការកំណត់របស់វាទៅកាន់ធាតុដែល popover ត្រូវបានភ្ជាប់។

កេះ ខ្សែអក្សរ 'ចុច' របៀបដែល popover ត្រូវបានកេះ - ចុច | hover | ផ្តោតអារម្មណ៍ | ហត្ថកម្ម។ អ្នកអាចឆ្លងកាត់គន្លឹះជាច្រើន; បំបែកពួកវាដោយចន្លោះមួយ។ manualមិន​អាច​ត្រូវ​បាន​រួម​បញ្ចូល​ជាមួយ​កេះ​ផ្សេង​ទៀត​។
អុហ្វសិត លេខ | ខ្សែអក្សរ 0 អុហ្វសិតនៃ popover ទាក់ទងទៅនឹងគោលដៅរបស់វា។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើល ឯកសារអុហ្វសិត របស់ Popper.js ។
ទីតាំងធ្លាក់ចុះ ខ្សែអក្សរ | អារេ 'ត្រឡប់' អនុញ្ញាតឱ្យបញ្ជាក់ទីតាំងណាដែល Popper នឹងប្រើនៅពេលត្រលប់ក្រោយ។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើល ឯកសារអាកប្បកិរិយា របស់ Popper.js
ព្រំដែន ខ្សែអក្សរ | ធាតុ 'scrollParent' ហួសព្រំដែនកំណត់នៃ popover ។ ទទួលយកតម្លៃនៃ 'viewport', 'window', 'scrollParent', ឬឯកសារយោង HTMLElement (JavaScript តែប៉ុណ្ណោះ)។ សម្រាប់ព័ត៌មានបន្ថែម សូមមើលឯកសារ PreventOverflow របស់ Popper.js

គុណលក្ខណៈទិន្នន័យសម្រាប់ popovers បុគ្គល

ជម្រើសសម្រាប់ popovers បុគ្គលអាចត្រូវបានបញ្ជាក់ជាជម្រើសតាមរយៈការប្រើប្រាស់គុណលក្ខណៈទិន្នន័យ ដូចដែលបានពន្យល់ខាងលើ។

វិធីសាស្រ្ត

វិធីសាស្រ្ត និងការផ្លាស់ប្តូរអសមកាល

វិធីសាស្រ្ត API ទាំងអស់គឺ អសមកាល ហើយចាប់ផ្តើមការ ផ្លាស់ប្តូរ ។ ពួកគេត្រឡប់ទៅអ្នកហៅចូលវិញភ្លាមៗ នៅពេលដែលការផ្លាស់ប្តូរត្រូវបានចាប់ផ្តើម ប៉ុន្តែ មុនពេលវាបញ្ចប់ ។ លើស​ពី​នេះ​ទៀត ការ​ហៅ​តាម​វិធី​សាស្ត្រ​លើ ​សមាសភាគ​អន្តរកាល​នឹង​ត្រូវ​បាន​មិន​អើពើ

សូមមើលឯកសារ JavaScript របស់យើងសម្រាប់ព័ត៌មានបន្ថែម។

$().popover(options)

ចាប់ផ្តើម popovers សម្រាប់ការប្រមូលធាតុ។

.popover('show')

បង្ហាញការលេចឡើងនៃធាតុមួយ។ ត្រឡប់​ទៅ​អ្នក​ហៅ​ទូរសព្ទ​វិញ​មុន​ពេល​លេច​ចេញ​ត្រូវ​បាន​បង្ហាញ​យ៉ាង​ពិត​ប្រាកដ (ឧ. មុន shown.bs.popover​ព្រឹត្តិការណ៍​កើត​ឡើង)។ នេះ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា "សៀវភៅ​ដៃ​" ការ​បង្ក​ឱ្យ​មាន​ការ​លេច​ចេញ​។ Popover ដែលទាំងចំណងជើង និងខ្លឹមសារមានប្រវែងសូន្យ មិនត្រូវបានបង្ហាញទេ។

$('#element').popover('show')

.popover('hide')

លាក់ការលេចឡើងនៃធាតុមួយ។ ត្រឡប់​ទៅ​អ្នក​ហៅ​ទូរសព្ទ​វិញ​មុន​ពេល​លេច​ឮ​តាម​ពិត​ត្រូវ​បាន​លាក់ (ឧ. មុន hidden.bs.popover​ព្រឹត្តិការណ៍​កើត​ឡើង)។ នេះ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា "សៀវភៅ​ដៃ​" ការ​បង្ក​ឱ្យ​មាន​ការ​លេច​ចេញ​។

$('#element').popover('hide')

.popover('toggle')

បិទ/បើកការលេចឡើងនៃធាតុមួយ។ ត្រឡប់ទៅកាន់អ្នកហៅទូរសព្ទវិញ មុនពេលការលេចចេញត្រូវបានបង្ហាញ ឬ លាក់ (ឧទាហរណ៍ មុនពេល ព្រឹត្តិការណ៍កើតឡើង)។ នេះ​ត្រូវ​បាន​គេ​ចាត់​ទុក​ថា​ជា "សៀវភៅ​ដៃ​" ការ​បង្ក​ឱ្យ​មាន​ការ​លេច​ចេញ​។shown.bs.popoverhidden.bs.popover

$('#element').popover('toggle')

.popover('dispose')

លាក់ និងបំផ្លាញការលេចឡើងនៃធាតុមួយ។ Popovers ដែលប្រើការធ្វើប្រតិភូកម្ម (ដែលត្រូវបានបង្កើតដោយប្រើ ជម្រើស )selector មិនអាចត្រូវបំផ្លាញដោយឡែកៗពីគ្នាលើធាតុ descendant trigger ទេ។

$('#element').popover('dispose')

.popover('enable')

ផ្តល់លទ្ធភាពបង្ហាញវត្តមានរបស់ធាតុ។ Popovers ត្រូវបានបើកតាមលំនាំដើម។

$('#element').popover('enable')

.popover('disable')

ដកសមត្ថភាពសម្រាប់ការបង្ហាញរបស់ធាតុដែលលេចឡើង។ Popover នឹងអាចបង្ហាញបានលុះត្រាតែវាត្រូវបានបើកឡើងវិញ។

$('#element').popover('disable')

.popover('toggleEnabled')

បិទ/បើក​លទ្ធភាព​សម្រាប់​ការ​លេច​ចេញ​របស់​ធាតុ​មួយ​ដើម្បី​បង្ហាញ​ឬ​លាក់។

$('#element').popover('toggleEnabled')

.popover('update')

ធ្វើបច្ចុប្បន្នភាពទីតាំងនៃការលេចឡើងនៃធាតុមួយ។

$('#element').popover('update')

ព្រឹត្តិការណ៍

ប្រភេទព្រឹត្តិការណ៍ ការពិពណ៌នា
show.bs.popover ព្រឹត្តិការណ៍នេះឆេះភ្លាមៗ នៅពេលដែល showវិធីសាស្ត្រ instance ត្រូវបានហៅ។
បង្ហាញ.bs.popover ព្រឹត្តិការណ៍​នេះ​ត្រូវ​បាន​បញ្ឈប់​នៅ​ពេល​ដែល​ផ្ទាំង​ព័ត៌មាន​ត្រូវ​បាន​ធ្វើ​ឱ្យ​អ្នក​ប្រើ​មើល​ឃើញ (នឹង​រង់ចាំ​ការ​ផ្លាស់​ប្តូរ CSS ដើម្បី​បញ្ចប់)។
hide.bs.popover ព្រឹត្តិការណ៍​នេះ​ត្រូវ​បាន​បញ្ឈប់​ភ្លាមៗ​នៅ​ពេល​ដែល hide​វិធីសាស្ត្រ​វត្ថុ​ត្រូវ​បាន​ហៅ។
លាក់.bs.popover ព្រឹត្តិការណ៍នេះត្រូវបានបញ្ឈប់នៅពេលដែល popover បានបញ្ចប់ត្រូវបានលាក់ពីអ្នកប្រើប្រាស់ (នឹងរង់ចាំការផ្លាស់ប្តូរ CSS បញ្ចប់)។
បញ្ចូល.bs.popover ព្រឹត្តិការណ៍នេះត្រូវបានបញ្ឈប់បន្ទាប់ពី show.bs.popoverព្រឹត្តិការណ៍នៅពេលដែលគំរូ popover ត្រូវបានបន្ថែមទៅ DOM ។
$('#myPopover').on('hidden.bs.popover', function () {
  // do something…
})