亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

data-toggle屬性的含義是什么?怎么理解data-toggle="dropdown"?調用的相關代碼是什么?

data-toggle屬性的含義是什么?怎么理解data-toggle="dropdown"?調用的相關代碼是什么?

lovehu 2017-03-02 11:26:52
??'use?strict'; ??//?DROPDOWN?CLASS?DEFINITION ??//?========================= ??var?backdrop?=?'.dropdown-backdrop' ??var?toggle???=?'[data-toggle="dropdown"]' ??var?Dropdown?=?function?(element)?{ ????$(element).on('click.bs.dropdown',?this.toggle) ??} ??Dropdown.VERSION?=?'3.3.7' ??function?getParent($this)?{ ????var?selector?=?$this.attr('data-target') ????if?(!selector)?{ ??????selector?=?$this.attr('href') ??????selector?=?selector?&&?/#[A-Za-z]/.test(selector)?&&?selector.replace(/.*(?=#[^\s]*$)/,?'')?//?strip?for?ie7 ????} ????var?$parent?=?selector?&&?$(selector) ????return?$parent?&&?$parent.length???$parent?:?$this.parent() ??} ??function?clearMenus(e)?{ ????if?(e?&&?e.which?===?3)?return ????$(backdrop).remove() ????$(toggle).each(function?()?{ ??????var?$this?????????=?$(this) ??????var?$parent???????=?getParent($this) ??????var?relatedTarget?=?{?relatedTarget:?this?} ??????if?(!$parent.hasClass('open'))?return ??????if?(e?&&?e.type?==?'click'?&&?/input|textarea/i.test(e.target.tagName)?&&?$.contains($parent[0],?e.target))?return ??????$parent.trigger(e?=?$.Event('hide.bs.dropdown',?relatedTarget)) ??????if?(e.isDefaultPrevented())?return ??????$this.attr('aria-expanded',?'false') ??????$parent.removeClass('open').trigger($.Event('hidden.bs.dropdown',?relatedTarget)) ????}) ??} ??Dropdown.prototype.toggle?=?function?(e)?{ ????var?$this?=?$(this) ????if?($this.is('.disabled,?:disabled'))?return ????var?$parent??=?getParent($this) ????var?isActive?=?$parent.hasClass('open') ????clearMenus() ????if?(!isActive)?{ ??????if?('ontouchstart'?in?document.documentElement?&&?!$parent.closest('.navbar-nav').length)?{ ????????//?if?mobile?we?use?a?backdrop?because?click?events?don't?delegate ????????$(document.createElement('div')) ??????????.addClass('dropdown-backdrop') ??????????.insertAfter($(this)) ??????????.on('click',?clearMenus) ??????} ??????var?relatedTarget?=?{?relatedTarget:?this?} ??????$parent.trigger(e?=?$.Event('show.bs.dropdown',?relatedTarget)) ??????if?(e.isDefaultPrevented())?return ??????$this ????????.trigger('focus') ????????.attr('aria-expanded',?'true') ??????$parent ????????.toggleClass('open') ????????.trigger($.Event('shown.bs.dropdown',?relatedTarget)) ????} ????return?false ??} ??Dropdown.prototype.keydown?=?function?(e)?{ ????if?(!/(38|40|27|32)/.test(e.which)?||?/input|textarea/i.test(e.target.tagName))?return ????var?$this?=?$(this) ????e.preventDefault() ????e.stopPropagation() ????if?($this.is('.disabled,?:disabled'))?return ????var?$parent??=?getParent($this) ????var?isActive?=?$parent.hasClass('open') ????if?(!isActive?&&?e.which?!=?27?||?isActive?&&?e.which?==?27)?{ ??????if?(e.which?==?27)?$parent.find(toggle).trigger('focus') ??????return?$this.trigger('click') ????} ????var?desc?=?'?li:not(.disabled):visible?a' ????var?$items?=?$parent.find('.dropdown-menu'?+?desc) ????if?(!$items.length)?return ????var?index?=?$items.index(e.target) ????if?(e.which?==?38?&&?index?>?0)?????????????????index--?????????//?up ????if?(e.which?==?40?&&?index?<?$items.length?-?1)?index++?????????//?down ????if?(!~index)????????????????????????????????????index?=?0 ????$items.eq(index).trigger('focus') ??} ??//?DROPDOWN?PLUGIN?DEFINITION ??//?========================== ??function?Plugin(option)?{ ????return?this.each(function?()?{ ??????var?$this?=?$(this) ??????var?data??=?$this.data('bs.dropdown') ??????if?(!data)?$this.data('bs.dropdown',?(data?=?new?Dropdown(this))) ??????if?(typeof?option?==?'string')?data[option].call($this) ????}) ??} ??var?old?=?$.fn.dropdown ??$.fn.dropdown?????????????=?Plugin ??$.fn.dropdown.Constructor?=?Dropdown ??//?DROPDOWN?NO?CONFLICT ??//?==================== ??$.fn.dropdown.noConflict?=?function?()?{ ????$.fn.dropdown?=?old ????return?this ??} ??//?APPLY?TO?STANDARD?DROPDOWN?ELEMENTS ??//?=================================== ??$(document) ????.on('click.bs.dropdown.data-api',?clearMenus) ????.on('click.bs.dropdown.data-api',?'.dropdown?form',?function?(e)?{?e.stopPropagation()?}) ????.on('click.bs.dropdown.data-api',?toggle,?Dropdown.prototype.toggle) ????.on('keydown.bs.dropdown.data-api',?toggle,?Dropdown.prototype.keydown) ????.on('keydown.bs.dropdown.data-api',?'.dropdown-menu',?Dropdown.prototype.keydown)
查看完整描述

1 回答

?
習慣受傷

TA貢獻885條經驗 獲得超1144個贊

data-toggle 這種以 data-?開頭的格式放在元素上表示元素攜帶的數據,如:

<img?id="img"?src="small.jpg"?data-bigimg="big.jpg"?/>

JQuery的?data() 方法可以直接操作,如:

//獲?。?var?bigImage?=?$("#img").data("bigimg");//注意,這里不用加?data-
//設置:
$("#img").data("bigimg","newBig.jpg");//注意,這里也不用加?data-

用這種 $("[data-bigimg]") 的方式可以選擇所有具有?data-bigimg 這個屬性的元素。

查看完整回答
2 反對 回復 2017-03-02
  • 1 回答
  • 0 關注
  • 12994 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號