假设我使用鼠标在页面上突出显示一些文字。如何使用JavaScript删除所有突出显示的文本?
谢谢。
答案 0 :(得分:37)
我对这个问题的理解有点不同。我相信您想知道如何从文档中删除所选文本,在这种情况下您可以使用:
function deleteSelection() {
if (window.getSelection) {
// Mozilla
var selection = window.getSelection();
if (selection.rangeCount > 0) {
window.getSelection().deleteFromDocument();
window.getSelection().removeAllRanges();
}
} else if (document.selection) {
// Internet Explorer
var ranges = document.selection.createRangeCollection();
for (var i = 0; i < ranges.length; i++) {
ranges[i].text = "";
}
}
}
如果您只想清除突出显示本身,而不是删除突出显示的文本,则应遵循以下规则:
function clearSelection() {
if (window.getSelection) {
window.getSelection().removeAllRanges();
} else if (document.selection) {
document.selection.empty();
}
}
答案 1 :(得分:1)
IE 4和旧的Netscape曾经有过这样做的方法......它不再合适(也不支持)。
你最好的猜测是使用Javascript在一个对象上聚焦(),然后使用blur() - 就像点击远离对象一样。
document.getElementById("someObject").focus();
document.getElementById("someObject").blur();