已過時
This feature is obsolete. Although it may still work in some browsers, its use is discouraged since it could be removed at any time. Try to avoid using it.
當 HTML 文件(document)被切換到 designMode
時,它的 document
物件就會對外暴露 execCommand
方法作為操控目前可編輯區域的指令,譬如 form inputs 或 contentEditable
元素。
多數的指令會作用在文件的選取 (粗體、斜體等),而其他則像是插入新的元素(新增一個連結)或是影響一整列的文字(縮排)。當使用 contentEditable
時, execCommand()
會作用在目前活躍的可編輯元素上。
語法
document.execCommand(aCommandName, aShowDefaultUI, aValueArgument)
回傳值
如果該指令不被支援或停用將回傳一個 false
的 Boolean
值。
備註:只有在使用者互動的部分回傳 true
。請不要嘗試在呼叫指令前使用回傳值來確認瀏覽器是否支援。
參數
指令
backColor
- 變更文件的背景色彩。在
styleWithCss
模式中,它作用於涵蓋區域的背景色彩。這個指令需要提供一個<color>
值字串作為引數值。請留意, Internet Explorer 使用這個指令作為設定文字的背景色彩。 bold
- 切換選取區域插入點的粗體與否。 Internet Explorer 使用
<strong>
標籤而不是<b>
. ClearAuthenticationCache
- 清除所有快取中的驗證憑證。
contentReadOnly
- 使內容文件成為唯讀或可編輯。此指令需要提供布林值 true/false 作為引數值。(Internet Explorer 不支援)。
copy
- 複製目前選取的區域到剪貼簿。各個瀏覽器對於這個指令的行為可能有所差異且不斷變更。如果你有使用這個指令的情境,請先查閱相容性表格來決定如何使用。
createLink
- 對選取的區域建立超連結,僅限於有選取內容。需要提供一個 URI 字串值作為超連結的
href
。 URI 必須最少包含一個字元且可以是空白字元(Internet Explorer 會建立一個null
值的連結)。 cut
- 移除目前選取的區域並複製到剪貼簿。各個瀏覽器對於這個指令的行為可能有所差異且不斷變更。使用細節請查閱相容性表格。
decreaseFontSize
- 在選取區域或插入點的前後加入一個
<small>
標籤( Internet Explorer 不支援) defaultParagraphSeparator
- 變更可編輯文字區域於新增段落時的段落分隔器。更多細節請查閱 產生 markup 的區別。
delete
- 刪除目前選取的區域。
enableAbsolutePositionEditor
- 啟用或停用用於移動絕對定位元素的抓取器。這個指令在 Firefox 63 Beta/Dev 版本中預設停用(bug 1449564)。
enableInlineTableEditing
- 啟用或停用表格的列 / 欄的插入及刪除。此指令在 Firefox 63 Beta/Dev 版本中預設停用 (bug 1449564)。
enableObjectResizing
- 啟用或停用圖片、表格、絕對定位元素、其他可重設大小物件的重設大小處理。此指令在 Firefox 63 Beta/Dev 版本中預設停用 (bug 1449564)。
fontName
- 變更選取區域或插入點的字型名稱。此指令需要字型名稱字串(如「Arial」)作為引數值。
fontSize
- 變更選取區域或插入點的字型大小。此指令需要
1
-7
的整數作為引數值。 foreColor
- 變更選取區域或插入點的字型色彩。此指令需要十六進位的色彩字串作為引數值。
formatBlock
- 在目前選取區域的前後加入一個 HTML 區塊層級元素,若選取區域已經存在區塊元素則取代之。(在 Firefox 中,
<blockquote>
是個例外——它會包裹住任何所包含的區塊元素)。 此指令需要一個標籤名稱字串作為引數值。幾乎所有區塊層級元素都可以使用(Internet Explorer and Edge 僅支援標題標籤H1
–H6
、ADDRESS
、PRE
且必須由角括號包裹起來,譬如"<H1>"
)。 forwardDelete
- 刪除游標位置後的字元,等同於在 Windows 按下 Delete 鍵盤按鍵。
heading
- 在選取區域或插入點前後加入一個標題元素。此指令需要標籤名稱字串作為引數值(例:
"H1"
,"H6"
)(Internet Explorer 及 Safari 不支援)。 hiliteColor
- 變更選取區域或插入點的背景色彩。此指令需要一個色彩字串作為引數值。
useCSS
必須為true
才能有作用(Internet Explorer 不支援)。 increaseFontSize
- 在選取區域或插入點前後加入一個
<big>
標題(Internet Explorer 不支援)。 indent
- 縮排選取區域或插入點所包含的列。在 Firefox ,如果選取的範圍跨越多列且不同的縮排層級,只有選取中最淺層縮排列的才會被縮排。
insertBrOnReturn
- 控制 Enter 按鍵按下時在目前區塊元素中插入
<br>
元素或分割成為兩個元素(Internet Explorer 不支援)。 insertHorizontalRule
- 在插入點插入一個
<hr>
元素或以它取代選取的內容。 insertHTML
- 在插入點插入一個 HTML 字串(會刪除選取內容)需要一個有效的 HTML 字串作為引數值(Internet Explorer 不支援)。
insertImage
- 在插入點插入一個圖片(會刪除選取內容)。需要一個 URL 字串作為圖片的
src
引數值。這個需求跟createLink
的字串是一樣的。 insertOrderedList
- 在選取區域或插入點建立一個有序的清單。
insertUnorderedList
- 在選取區域或插入點建立一個無序的清單。
insertParagraph
- 在選取區域或目前列的前後插入段落(Internet Explorer 會在插入點插入段落並刪除選取的內容)。
insertText
- 在插入點處插入給予的純文字(選取內容將被刪除)。
italic
- 切換選取區域或插入點的斜體開關(Internet Explorer 使用
<em>
元素而不是<i>
)。 justifyCenter
- 置中對齊選取區域或插入點的內容。
justifyFull
- 左右對齊選取區域或插入點的內容。
justifyLeft
- 靠左對齊選取區域或插入點的內容。
justifyRight
- 靠右對齊選取區域或插入點的內容。
outdent
- 凸排選取區域或插入點所包含的列。
paste
- 在目前的插入點貼上剪貼簿的內容(取代目前選取的項目)。網頁內容無法使用。詳閱 [1]。
redo
- 復原上一個取消的指令。
removeFormat
- 移除目前選取區域所有的格式。
selectAll
- 選取可編輯區域的所有內容。
strikeThrough
- 切換選取區域或插入點的刪除線開關。
subscript
- 切換選取區域或插入點的 subscript 開關。
superscript
- 切換選取區域或插入點的 superscript 開關。
underline
- 切換選取區域或插入點的底線開關。
undo
- 取消上一個執行的指令。
unlink
- 從選取的超連結刪除錨點元素。
useCSS
- 針對產生的 markup 使用 HTML 標籤或 CSS。此指令需要一個布林值 true/false 作為引數值。
- 注意:這個引述在邏輯上是反向的(舉例:使用
false
會使用 CSS ,反之使用true
則使用 HTML 且 Internet Explorer 不支援。這個指令已經被棄用並由styleWithCSS
取而代之。 styleWithCSS
- 取代
useCSS
的指令。true
會在 markup 修改 / 產生style
屬性, false 會產生展示用的元素。
範例
一個在 CodePen 上展示如果使用的範例。
規格
規格 | 狀態 | 備註 |
---|---|---|
execCommand |
瀏覽器相容性
BCD tables only load in the browser
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
相關資訊
HTMLElement.contentEditable
document.designMode
- Rich-Text Editing in Mozilla
- Scribe's "Browser Inconsistencies" documentation with bugs related to
document.execCommand
.