触发右键单击

时间:2011-06-06 10:05:15

标签: javascript jquery contextmenu

我正在尝试使用ContextMenu plugin将上下文菜单后期绑定到元素。所以在第一次右击这些元素时,我想:

  1. 拦截右键点击某个“无文字化”课程的直播活动,
  2. 确定data('events').contextmenu是否存在,
  3. 如果没有,请附上上下文菜单(并更改类以避免重新抛出此实时进程),
  4. 重新抛出右键单击事件以显示右键单击。
  5. 我遇到了最后一项问题。 jQuery允许.click().trigger('click')模拟左键单击,但似乎无法通过trigger触发右键单击事件。

    或者在那里?

3 个答案:

答案 0 :(得分:29)

您可以通过

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

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

答案 1 :(得分:5)

有一种更新的方法:

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

Documentation can be found here

答案 2 :(得分:-2)

与此类似,但我不确定您是否可能引用jQuery UI数据,但是。

$('#element').mousedown(function(event) 
{
    if(event.which == 3)
    {
        if(typeof($(this).data('events')) === 'undefined')
        {
            $(this).data('events', { somedata: 'hello' });
        }
        else
        {
            // "re-throw" right click context menu
        }
    }
});