最佳答案
您可以手动创建和触发上下文菜单事件.如果设置了正确的处理程序,则可以检测是否调用了处理程序.
原文链接:https://www.f2er.com/jquery/427867.html这是一个例子(使用jQuery进行事件创建和观察):
function testContextMenuEvent() {
var supported = false;
function handler(e) {
supported = true;
e.stopPropagation();
}
$(document).bind('contextmenu',handler);
var evt = jQuery.Event("contextmenu");
$(document).trigger(evt);
$(document).unbind('contextmenu',handler);
return supported;
}
这是一个测试页面:http://jsfiddle.net/Hk4xA/6/
edit2:DOM再次受到攻击.我忘了createEvent完全不适用于IE.所以我也使用jQuery来创建事件.