web-dev-qa-db-ja.com

右クリックをトリガーします

ContextMenuプラグイン を使用して、コンテキストメニューを要素に遅延バインドしようとしています。したがって、これらの要素を最初に右クリックして、次のことを行います。

  1. 特定の「コンテキストメニューのない」クラスのライブイベントを右クリックしてインターセプトし、
  2. data('events').contextmenuが存在するかどうかを判断します。
  3. そうでない場合は、コンテキストメニューをアタッチします(そして、このライブプロセスが再スローされないようにクラスを変更します)。
  4. 右クリックイベントを再スローして、右クリックを表示します。

最後のアイテムに問題があります。 jQueryでは、左クリックをシミュレートする.click()または.trigger('click')を使用できますが、triggerを介して右クリックイベントを発生させる方法はないようです。

それともありますか?

15
glmxndr

あなたはそれをトリガーすることができます

$('#element').trigger({
    type: 'mousedown',
    which: 3
});

http://api.jquery.com/trigger/#example-5

29
Niclas Sahlin

これを行うための新しい方法があります:

$('#element').triggerHandler('contextmenu');

ドキュメントはここにあります

5
Ben Lesh