1

テキストのチャンクを表示するために jquery UI ダイアログ ( http://jqueryui.com/demos/dialog/ ) を使用しています。このダイアログ ボックスでテキストを選択して操作したいと考えています。現在、私の現在のコードは Chrome と Firefox で動作しますが、Safari では動作しません。(IE ではまだテストされていません)

選択を取得して、次のように表示します。

selection = window.getSelection(); 
alert(selection.toString().length);

アラートは、Safari ではゼロを返します。私はjavascript/jqueryに比較的慣れていないので、ポインタがあれば役立ちます! ありがとうございました!

回答: これを見た方へ... サファリのダイアログ ボックスで「クリック」の代わりに「マウスダウン」イベントを使用すると、機能し始めました。みんな、ありがとう!

4

2 に答える 2

0

Safari の動作が少し異なるようです。getSelection() は通常の文字列オブジェクトを返さないため、返されるオブジェクトに対してすべての文字列メソッドが機能するわけではありません。このリンクには回避策がありますhttp://joemaller.com/503/getselection-workaround/

それは非常に古い「バグ」のように見えるので、代わりに何をすべきかについてより良いアドバイスがあるかもしれません.

于 2011-05-03T04:19:20.663 に答える
0

セレクションで何かをしている場合は、Tim Down のrangyライブラリを参照することを強くお勧めします。この男は範囲/選択オブジェクトの第一人者です。彼のライブラリは、クロスブラウザの範囲選択ライブラリを実装するためのすべての重要な作業を行います。ドキュメントは充実しており、彼は積極的にプロジェクトに取り組んでいます (v 1.1 は数日前に公開されました)。

(編集: 私はプロジェクトに所属していません。私はそれを使用し、気に入っています!)

于 2011-05-03T06:41:11.083 に答える