天天看點

學習筆記之HTML5新增全局屬性1. ontenteditable屬性2. designMode屬性3. hidden屬性4. tabindex屬性5. spellcheck屬性

1. ontenteditable屬性

ontenteditable屬性的主要功能是允許使用者線上編輯元素中的内容。ontenteditable是一個布爾屬性,可以被指定為true或false。屬性為true時,元素被指定為允許編輯;屬性為false時,元素被指定為不允許編輯;未被指定為true或false時,則由inherit狀态來決定,那就是,如果元素的父級元素是可編輯的,則該元素就是可編輯的,否則反之。以上就是ontenteditable該屬性隐藏的inherit(繼承)狀态。

下面我們看一個例子,在為清單元素加上ontenteditable屬性後,使用者可自行在浏覽器中修改清單内容。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>test</title>
	</head>
	<body>
		<h1>可編輯的清單</h1>
		<ul contenteditable="true">
			<li>元素1</li>
			<li>元素2</li>
			<li>元素3</li>
		</ul>
	</body>
</html>
           

在浏覽器中預覽效果如下:

學習筆記之HTML5新增全局屬性1. ontenteditable屬性2. designMode屬性3. hidden屬性4. tabindex屬性5. spellcheck屬性

需要注意的一點就是:在編輯完内容後,如果想要儲存其中的内容,隻能把該元素的innerHTML發送到伺服器端進行儲存。

2. designMode屬性

designMode屬性用來指定整個頁面是否可編輯,當頁面可編輯時,頁面中任何支援上面所述的contentEditable屬性的元素都變成了可編輯狀态。designMode屬性隻能在javascript腳本裡被編輯修改。該屬性有兩個值:on和off,當被指定為on時,頁面是可編輯的,指定為off時,頁面是不可編輯的。

示例:使用javascript腳本來指定designMode屬性的用法如下:

document.designMode = "on"
document.designMode = "off"
           

注意:

針對designMode屬性,各個浏覽器的支援情況也各不相同。

Chrome3和Safari浏覽器:使用内嵌frame的方式,該内嵌frame是可編輯的。

IE8浏覽器:出于安全考慮,不允許使用designMode屬性讓頁面進入可編輯狀态。

IE9浏覽器:允許使用designMode屬性讓頁面進入可編輯狀态。

Firefox和Opera浏覽器:允許使用designMode屬性讓頁面進入編輯狀态。

3. hidden屬性

HTML5中,所有元素都允許使用一個hidden屬性。該屬性類似于input元素中的hidden屬性,功能是通知浏覽器不渲染該元素,使該元素處于不可見狀态。但是元素中的内容還是浏覽器建立的,也就是說頁面裝載後允許使用javascript腳本将該屬性取消,取消後該元素變為可見狀态,同時元素中的内容也即時顯示出來。hidden屬性是一個布爾值的屬性,當設為true時,元素處于不可見狀态;當設為false時,元素處于可見狀态。

4. tabindex屬性

tabindex屬性,當不斷按Tab健讓視窗或頁面中的控件獲得焦點,對視窗或頁面中的所有控件進行周遊的時候,每一個控件的tabindex屬性表示該控件是第幾個被通路到的。

5. spellcheck屬性

spellcheck屬性是HTML5針對input元素(type=text)與textarea這兩個文本輸入框提供的一個新屬性,它的功能是對使用者輸入的文本内容進行拼寫和文法檢查。

spellcheck屬性是一個布爾值的屬性,具有true或false兩種值。但是它在書寫時有一個特殊的地方,就是必須明确屬性值為true或false。

用法如下:

<textarea spellcheck = "true">
<input type=text spellcheck = false>
           

繼續閱讀