2011-12-31 7 views
5

Firefoxの拡張機能を使ってコンテキストメニュー要素を追加していますが、DOM要素と選択したテキストの両方を取得できますが、右クリックイベントが発生した選択されていない単語を取得することはできません。私はそれが可能でなければならないと仮定します。なぜなら、スペルチェッカーはそれを行うのですか、それとも特殊な組み込み関数なのでしょうか?Firefox拡張機能のコンテキストメニューの下に単語を表示する方法はありますか?

アイデア?ここでは、他の2を取得するためのコードは次のとおりです。

oncommand="if(gContextMenu.isTextSelected) rightClick(document.commandDispatcher.focusedWindow.getSelection().toString()); else rightClick(gContextMenu.target.innerHTML);" 
+0

カスタムコンテキストメニューを追加しますか?デフォルトのものを使用しますか? – Liran

+0

デフォルトのもの。右クリックすると、カーソルの下の単語が何かを知ることができるように新しいエントリが必要になります。 – yuttadhammo

答えて

2

私はこれを行うための超簡単な方法を認識していませんよ。スペルチェッカーは、デフォルトでtextarea要素でのみ機能します(ただし、入力フィールド内でも機能するように変更できます)。したがって、その機能は、これらのコントロールの内部コード内にカプセル化されている可能性が最も高いです。

しかし、私はマウスカーソルの下に単語を取得することを主張するコードの短いスニペットを見つけましたin an answer for another questionここStackOverflowで。 onmousemoveイベントを使用して、自分がどこにいるかを追跡します。

ユーザビリティの観点から、私は個人的に、自分が興味のあるテキストを選択してから操作することを強くお勧めします。選択したテキストを扱うための組み込み機能が既に存在しています(指摘したとおりに)。そして、ユーザーには何を話しているのか疑問はありません(最終目標が何であるかによって異なります)。

関連する問題