检测浏览器是否支持右键单击事件重写

Jon*_*nah 5 javascript jquery right-click javascript-events

我正在使用上下文菜单jquery插件,我需要检测哪些浏览器支持这个.如何才能做到这一点?

我听说有些版本的opera和safari不支持这种右键单击覆盖业务

Als*_*nde 4

您可以手动创建并触发上下文菜单事件。如果您设置了正确的处理程序,您可以检测该处理程序是否被调用。

这是一个示例(使用 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;
}
Run Code Online (Sandbox Code Playgroud)

这是一个测试页面:http://jsfiddle.net/Hk4xA/6/

edit2:DOM 再次罢工。我忘了这createEvent在 IE 上完全不起作用。因此我也使用 jQuery 来创建事件。