Selection: direction 屬性
direction 是 Selection 介面的一個只讀屬性,它是一個字串,用於提供當前選中文字的方向。
該值由使用者選擇選區邊界點的順序決定。例如,使用者可以透過單擊起始邊界點、拖動游標,然後在結束邊界點釋放滑鼠來完成選區。如果結束邊界點在文件中的位置晚於起始點,則方向為 "forwards"(前進);如果結束點在文件中的位置早於起始點,則方向為 "backwards"(後退)。如果使用者沒有隱含方向(例如,透過雙擊單詞或元素進行選區,或者選區是透過程式設計方式實現的),則值為 "directionless"(無方向)。
如果選區的範圍發生變異(例如,使用 Range.selectNode() 等方法),方向不會改變。
值
描述當前選區型別的字串。可能的值包括:
示例
此示例允許您透過記錄段落中文本當前選區方向來測試 direction 屬性的工作方式。
HTML
HTML 僅顯示一個包含一些可選文字的段落元素。
html
<p id="text-box">
Select text in this paragraph to see the selection direction.
</p>
請注意,還有一個“隱藏”的日誌框(以及相關的程式碼),遵循“顯示單個條目日誌”指南中編寫即時樣本的模式。
JavaScript
程式碼會檢查 direction 屬性是否已定義,如果已定義,則會新增一個 selectionchange 事件的監聽器,該監聽器會獲取當前選區並記錄其方向。如果屬性不受支援,程式碼將記錄這一事實並隱藏用於選區的文字。
js
const input = document.getElementById("text-box");
if ("direction" in Selection.prototype) {
document.addEventListener("selectionchange", () => {
const selection = window.getSelection();
log(`Selection direction: ${selection.direction}`);
});
} else {
log("direction property not defined");
input.hidden = true;
}
結果
如果屬性受支援,請嘗試透過雙擊、拖動選區然後釋放滑鼠(在不同方向上)來測試。
規範
| 規範 |
|---|
| Selection API # dom-selection-direction |
瀏覽器相容性
載入中…