3

最新バージョンの Firefox (現在サポートしているブラウザーのみ) で HTML5 コンテキストメニュー項目を試しています。コンテキスト メニューからメニュー項目をクリックすると、メニューが生成されたときにクリックされた元の要素にアクセスするにはどうすればよいですか?

ユースケースは、アイテムのリストを表示し、ユーザーに特定のアイテムに対してアクションを実行してもらいたい場合です。アクションがメニューからクリックされたら、メニューを生成するために最初にクリックされたリスト内の要素を特定する方法が必要です。

ここに JSFiddle があります (テストには Firefox を使用してください)

4

4 に答える 4

2

のようにどこかに保存してthis.cte = arguments[0];、後で取得するだけですdocument.getElementById('testitem').cte

http://jsfiddle.net/GALmp/4/

于 2012-08-27T01:47:32.293 に答える
1

私も同じ、またはよく似た状況にありました。<tr>テーブルのヘッダーにコンテキスト メニューがバインドされています。ユーザーがコンテキスト メニューの特定の項目をクリックすると、クリック イベント ハンドラー内で、要素がクリック<th>されたときにマウス ポインターがどの要素の上にあったかを判断する必要がありました。<menuitem>

解決策: document.activeElement は、必要な要素を正確に参照しています。おかげで:

于 2012-11-09T00:22:40.107 に答える
0

ブラウザに依存しない jquery contextMenu プラグインを使用できます。特に、次の例: http://medialize.github.io/jQuery-contextMenu/demo/on-dom-element.html は、トリガーとなる DOM 要素を特定する方法を示しています。

于 2014-05-04T20:58:45.293 に答える
-1

thisキーワードは他のイベントと同じように機能します。

于 2012-08-27T01:47:26.173 に答える