Selection: empty() 方法
Selection.empty()
方法会移除选择中的所有范围,使 anchorNode
和 focusNode
属性等于 null
,并且没有选中任何内容。调用此方法时,将在文档上触发 selectionchange
事件。
注意:此方法是 Selection.removeAllRanges()
方法的别名。
语法
js
empty()
参数
无。
返回值
无 (undefined
).
示例
此示例在页面上选中或未选中某些内容时显示一条消息。它通过侦听文档上的 selectionchange
事件来实现这一点。还有一个按钮,通过调用 Selection.empty()
来清除任何选择。发生这种情况时,选择会发生变化,并且消息会更新。
html
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse laoreet
urna eget sapien venenatis, eget facilisis diam mattis.
</p>
<button>Clear selection</button>
<pre id="log"></pre>
js
const log = document.getElementById("log");
// The selection object is a singleton associated with the document
const selection = document.getSelection();
// Logs if there is a selection or not
function newSelectionHandler() {
if (selection.rangeCount !== 0) {
log.textContent = "Some text is selected.";
} else {
log.textContent = "No selection on this document.";
}
}
document.addEventListener("selectionchange", () => {
newSelectionHandler();
});
newSelectionHandler();
// The button cancel all selection ranges
const button = document.querySelector("button");
button.addEventListener("click", () => {
selection.empty();
});
规范
规范 |
---|
Selection API # dom-selection-removeallranges |
浏览器兼容性
BCD 表格仅在启用 JavaScript 的浏览器中加载。