JavaScript:現在のマウスのハイライトをページから削除しますか?

StackOverflow https://stackoverflow.com/questions/1643297

  •  10-07-2019
  •  | 
  •  

質問

マウスを使用してページ上のテキストをハイライトするとしましょう。 JavaScriptを使用して、強調表示されたテキストをすべて削除するにはどうすればよいですか?

ありがとう。

役に立ちましたか?

解決

この質問の理解は少し異なりました。ドキュメントから選択したテキストを削除する方法を知りたいと思うと思います。その場合、次のように使用できます。

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();
    }
}

他のヒント

IE 4および古いNetscapeにはこれを行う方法がありました...これはもはや適切ではありません(サポートされていません)。

最良の推測は、Javascriptを使用してオブジェクトにfocus()し、次にblur()することです。これは、オブジェクトから離れてクリックするのと同じように効果的です。

document.getElementById("someObject").focus();
document.getElementById("someObject").blur();
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top