私はrangyと協力していて、選択とそのクロスブラウザの動作に関する質問を受けました。
div内にいくつかの要素(ハイパーリンクなど)があり、この要素内をクリックしたときにouterHTMLを選択できるようにしたいと思います。
<div>Lorem ipsum <a href="#">duo dolores</a> tempor.</div>
そこで、ハイパーリンクのouterHTMLが得られるrange.selectNode()
ように、ノード全体が選択されることを期待しました。selection.toHtml()
innerHTMLを取得するには、を呼び出しますrange.selectNodeContents()
。そして、これがIE9での動作です。
ただし、Chromeではどちらの場合もinnerHTMLのみが選択されています。rangyプラグイン(クロスブラウザである必要があります)にバグがありますか、それとも何か間違ったことをしていますか?
このフィドルをチェックして、私が何を意味するかを確認してください。最初にIE9で開き、ハイパーリンク内にキャレットを配置し、最初のボタンをクリックします(の出力を確認してくださいselection.toHtml()
)。次に、ハイパーリンク内にもう一度キャレットを配置し、2番目のボタンをクリックします(出力をもう一度確認します)。その後、Chromeでも同じようにします。