このデモを参照してください(現時点でChromeでのみ機能するselectionchangeイベントに依存します):http://jsfiddle.net/fyG3H/
いくつかのloremipsumテキストを選択してから、テキスト入力にフォーカスします。コンソールログに、DOMSelectionオブジェクトがあることがわかります。のanchorNode値がありますが、のHTMLBodyElement
いずれかが必要ですText
。
選択オブジェクトを文字列化してみるまで、なぜこれが起こっているのかわかりませんでした:http: //jsfiddle.net/fyG3H/1/
これにより、次のエラーが発生します。
Uncaught TypeError:循環構造をJSONに変換しています
window.getSelection()によって引き起こされるこの循環参照を防ぐ方法を知っていますか?
編集
他のブラウザでも機能するが、それでも間違ったanchorNodeを提供する新しいデモ:http://jsfiddle.net/fyG3H/5/
そしてJSON.stringifyで:http://jsfiddle.net/fyG3H/6/
Firefoxは、エラーをスローする代わりに空の{}を返すようです。