我试图使用ContextMenu plugin将上下文菜单延迟绑定到元素。所以第一右键单击这些元素,我想:触发器右键单击
- 拦截通过对某个“uncontextmenued”一流的现场活动右击,
- 确定
data('events').contextmenu
存在 - 如果没有,附加上下文菜单(并更改班级以避免重新投入此实时进程),
- 重新抛出右键单击事件以显示右键单击。
我对最后一个项目有问题。 jQuery允许.click()
或.trigger('click')
模拟左键单击,但似乎没有办法通过trigger
触发右键单击事件。
或者有吗?
好吧,让我走在正确的轨道上。只是为了完成答案,引用的插件实际上需要一个mousedown,然后是一个mouseup ...因此,触发像Niclas所说的必须跟着一个触发器('mouseup')。由于它是'button'属性,而不是插件读取的'which'属性,所以我的问题的实际答案是$('#element')。trigger('mousedown',{button:2})。触发('mouseup')。感谢Niclas。 – glmxndr 2011-06-06 12:42:07
嗨subtenante,100万感谢,我只是在相同的功能后,你的回答真的帮了我很多,但我认为你有一个错误,我不得不改变它: $('#element')。trigger ({类型: '鼠标按下',按钮:2})触发({类型: '鼠标松开'}); ,使其工作。 – 2011-09-06 15:48:59
与我的情况相同,“mouseup”而不是“mousedown”。 – gumkins 2013-07-25 04:48:22