干貨:詳解HTML5中常見的五大全局屬性
HTML5中新增了“全部屬性”的概念。所謂全局屬性它是指可以對任何元素都可以使用的屬性,今天為大家詳細(xì)介紹三種常見的全局屬性。
contentEditable屬性
contentEditable是由微軟開發(fā)。被其他瀏覽器反編譯并投入應(yīng)用的一個全局屬性。它的主要功能是是否允許用戶編輯元素的內(nèi)容,被編輯元素必須是獲得鼠標(biāo)焦點(diǎn)的元素,而且在點(diǎn)擊后要提供一個插入符號,提示用戶該元素中內(nèi)容允許編輯。contentEditable屬性是一個布爾值屬性,可以指定為ture或false。該屬性還有一個隱藏屬性的inherit狀態(tài),為true是允許用戶編輯;為false時元素不能被用戶編輯;沒有指定時則由inherit狀態(tài)決定,如果父元素是可編輯的,該元素也是可編輯的。支持contentEditable屬性元素有A、DD、DIR、DIV、BUTTON、FORM、DL、DT、FONT、DFN、hn、CODE、ABBR等。
designMode屬性
designMode屬性主要功能是指定整個頁面是否可編輯,頁面可編輯時,頁面中任何支持contentEditable屬性的元素都變成了可編輯狀態(tài)。designMode屬性有兩個值“on”和"off"。屬性為“on”時,頁面可編輯;屬性為“off”時,頁面不可編輯。不過各個瀏覽器支持情況也不一樣,IE8不支持designMode屬性,IE9支持designMode屬性,fixfox和Opera瀏覽器支持designMode屬性、Chrom和Safari瀏覽器在內(nèi)嵌frame支持designMode屬性。
hidden屬性
在HTML5中所有的元素允許使用hidden屬性。它類似input元素中的hidden屬性,使元素處于不可見狀態(tài)。hidden屬性設(shè)置為ture,元素處于不可見狀態(tài);hidden屬性設(shè)置為false時元素處于可見狀態(tài)。
spellcheck屬性
spellcheck屬性主要是針對input元素和textarea這兩個文本輸入框提供的新屬性,它的功能是對輸入內(nèi)容進(jìn)行拼寫和語法檢查。它有個特殊的地方,就是必須聲明屬性值true或者false。如果元素是readonly屬性或者disabled屬性為true,不執(zhí)行拼寫檢查。Firfox、IE、Chrome、Safari等瀏覽器都支持該屬性。
tabindex屬性
tabindex在程序開發(fā)概念,是指不斷敲擊Tab鍵讓窗口或頁面中控件獲得焦點(diǎn),對窗口的控件進(jìn)行遍歷,每個控件的tabindex表示第幾個被訪問的。之前這個屬性在編輯網(wǎng)頁很有用,現(xiàn)在是根據(jù)元素所在位置決定遍歷順序,所以就不需要了。不過tabindex拎一個作用,只有鏈接元素與表單元素可以通過按鍵獲得焦點(diǎn)。如果對元素使用了tabindex屬性后,也能讓元素獲得焦點(diǎn),執(zhí)行focus()語句時,可以讓元素獲得焦點(diǎn)了。但是這樣會出現(xiàn)一個問題,元素會通過tab獲得焦點(diǎn),而這時候我們不想讓該元素獲得焦點(diǎn)這不是我們想要的結(jié)果。
把元素的tabindex值設(shè)定為負(fù)數(shù)后就可以解決這個問題了。tabindex為負(fù)值時,可以通過編程的方式讓元素獲得焦點(diǎn),但按下Tab鍵該元素就不能獲得焦點(diǎn)了,這在復(fù)雜的頁面是非常有用的。HTML5中巧妙運(yùn)用該屬性發(fā)揮了很大的作用。