1

window.getSelection() を使用して Selection オブジェクトをクエリする JavaScript コードがあります。選択を行うと、window.getSelection() は正常に Selection パラメーターを返しますが、画面上の他の場所をクリックして選択を無効にすると、window.getSelection() は古い Selection オブジェクトを返し続けます。

私は何か大きなものを構築しているわけではないので、Rangy などのライブラリをインストールしたくありません。選択オブジェクトを無効にするにはどうすればよいですか? ちなみに、このスクリプトには Firefox 20.0.1 を使用しています。

アドバイスをお願いします!

4

1 に答える 1

1

テキストの他の場所をクリックするgetSelectionと、古い選択オブジェクトではなく空のオブジェクトが表示されます。の長さをテストできますselection.toString()

var selectionIsNotEmpty = selection.toString().length>0;

WebKit ブラウザでは、選択のタイプも「Range」から「Caret」または「None」に変更されます。

デモンストレーション(何かを選択して別の場所をクリック)

于 2013-05-01T06:59:40.753 に答える