やあでマウスダウンイベントを管理します。私はマーク・コリの非常に良い例をhttp://mark.koli.ch/2009/09/use-javascript-and-jquery-to-get-user-selected-text.htmlに見つけました。私はで働い例を作成しましたは、ハイライト表示JavaScriptとunhighlightingテキスト
:http://jsfiddle.net/metalskin/43c8h/8/
次のように私は特定のインスタンスのためのコードに問題がある:
- は、いくつかのテキストを選択します。
- ダイアログが表示されます。
- ダイアログを閉じます。
- ドラッグしないでクリックすると、強調表示されたテキストが消去されます。
- ダイアログが表示されます。
- ダイアログを閉じます。
- テキストの選択が解除されます。
私のロジックでは、私はダイアログを使用していません(例として簡単です)。私は、ユーザーがアクションを実行できるように画像を含むdivを挿入しています。
問題は、2回目のクリックで実際にテキストをクリアすることですが、ブラウザがテキストをクリアする前に何らかの理由でブラウザがマウスアップイベントを発生させていることが原因です。これは明らかにダイアログがポップアップする問題ではありませんが、私のロジックでは、複数のdivが追加され、テキストの上に複数の浮動イメージが追加されてしまいます。
イベントによって強調表示されたテキストが削除されると判断されることはありますか?理想的には、ブラウザがテキストをクリアした後、私はむしろイベントの火を吹きます。
ありがとうございます(とにかく、newbの質問があれば申し訳ありませんが、JavaScriptの場合は非常にラフです)。
:編集:
私はそれを使用しているかのユースケースを説明する必要があります。
- ユーザーが
- アイコンは、彼らはただのテキスト、ユーザがマークするいくつかの詳細を入力するためのフォームを開き、アイコンを、選択
- を強調するから、マウスボタンをリリースしどこの上に表示されるページ上のテキストをハイライト(この時点でアイコンが削除されます)
- ユーザーがフォーム(ajax)を送信すると、フォームが閉じます。
- ページが表示され、強調表示されたテキストがハイライト表示されなくなりました(ただし余分なマークアップが追加されました)。アイコン
- ページの
または
- ユーザーのハイライトのテキストは、彼らは単にユーザーが両方削除するためにページ上の他の場所でクリックするテキスト
- を強調するから、マウスボタンをリリースした場合の上に表示されます強調表示されたテキストを削除してアイコンを削除します。
- ユーザーがフォームを送信すると、フォームが閉じます。
アイコンを選択したときに選択したテキストが選択解除されても問題はありませんが、ページの別の部分をクリックすると問題が発生してマウスイベントが再開し、提供されている例では適切でない場合はダイアログ)。
を入力するとダイアログが表示されません。それはちょうどテキストの選択を解除する –