【发布时间】:2015-05-15 14:54:48
【问题描述】:
我正在使用一个名为 contextmenu 的(诚然非常古老的)jQuery 插件来替换某些元素上的右键单击上下文菜单。这个插件的源码可以在here找到。
你可以像这样将上下文菜单附加到一个元素上:
$(".class").contextMenu('menu_template', {
menuStyle: {
border: '0px',
},
itemStyle: {
},
itemHoverStyle: {
},
onShowMenu: function(e, menu) {
},
other stuff ....
})
另外,我想手动触发这个菜单,并认为最简单的方法是模拟对元素的右键单击。
我试过了:
$('.class').triggerHandler('contextmenu');
和
$('.class').trigger({
type:'mousedown',
button:2
}).trigger({
type:'mouseup',
button:2
});
和
$('.class').trigger({
type:'mousedown',
which:3
}).trigger({
type:'mouseup',
which:3
});
只是
$('.class').trigger({
type:'mousedown',
which:3
})
这些都不起作用。
我确信这与此插件将自身附加到元素并覆盖上下文菜单的方式有关,但我不是 JavaScript 专家,所以不确定发生了什么。
如何手动触发此菜单显示?
【问题讨论】:
-
@guest271314 这对我有什么帮助?通过创建鼠标事件?这不是我已经尝试过的,而是使用 jQuery 而不是纯 Javascript 吗?
-
不确定是否有帮助;唯一可能测试的选择?试过
js,没有 jQuery 吗?不同的使用js;例如,启动click的a元素请参阅.get(0).click()stackoverflow.com/a/24689865。尝试与.trigger("click")相同
标签: javascript jquery