次のjQueryの抜粋があります:
Tselector.mouseup = function() {
var sel = getSelectionCharOffsetsWithin(document.getElementById("base"));
//...
}
div
上記の関数でタグ内のテキストを選択するたびにid=base
、マウスボタンを離すとトリガーされます。getSelectionCharOffsetsWithin(element)
選択を解析するメソッドです (以降の手順で必要です)。
私が今やりたいことは、選択範囲で何ができるかについてのオプションを示すツールチップをポップアップすることです。(iOS に詳しい方のために説明すると、Web ブラウザーでテキストを選択するときの機能に似ています。)
問題は、jQuery が操作を実行するための DOM 要素を必要とすることです。たとえば、tippyを使用する場合:
$('#foo').tipsy();
div
ツールチップは、 を持つタグで接続されていid=foo
ます。
関数をトリガーするときmouseup
、選択したテキストにそのような要素がないため、選択をツールチップに接続できません。
DOM要素に接続せずにjQuery関数を直接呼び出す可能性はありますか(たとえば、ツールチップをマウス位置に接続します)? そうでない場合、イベントで作成および接続されているが、HTML コードに永続的に保存されていない一時的な DOM 要素を使用して回避策を実行することは可能でしょうか?
これを示すフィドルは次のとおりです。 http://jsfiddle.net/noplacetoh1de/bYNmb/
アドバイスをありがとう!