1

http://jsfiddle.net/JonVisc/ufHBd/4/

したがって、jsFiddleの基本的な手順は次のとおりです。

  • 「HelloWorld」の任意の場所をクリックします(強調表示されていません):範囲は次のとおりです:true
  • ドラッグしてハイライトします(例として「llWor」を強調表示します:範囲は次のとおりです:false
  • その強調表示された範囲内の任意の場所をクリックします。範囲は次のとおりです:false

その直後にハイライトが消えますが、これはイベントですか?基本的に、ハイライトのクリアを検出する必要があります(その後、ハイライトがないため、保存された範囲をクリアします)が、残念ながらその方法がわかりません。

クリック(その後は強調表示されない)はfalseの期待される結果を返しますが、前のクリックでその結果が必要だったので、これは理想的ではありません。

4

1 に答える 1

1

実際、結果はブラウザに依存します。Mozillaで折りたたまれていない選択をクリックすると、クリックイベントが発生すると選択が折りたたまれますが、WebKitでは選択はまだ折りたたまれていません。

それを検出することに関しては、あなたの選択肢は限られています。最近のWebKitとIEは5.5までさかのぼって、でselectionchangeイベントを発生さdocumentせます。これは、あなたが望むもののように聞こえます。

http://jsfiddle.net/ufHBd/5/

MozillaとOperaは、通常のコンテンツで有用な選択関連のイベントを発生させません。実行できるのは、マウスとキーのイベントを処理することだけです。この回答へのコメントにはもう少し背景があります:https ://stackoverflow.com/a/8443541/96100

于 2012-07-19T22:24:43.170 に答える