检测浏览器是否支持右键单击事件覆盖

时间:2010-06-04 05:54:04

标签: javascript jquery javascript-events right-click

我正在使用上下文菜单jquery插件,我需要检测哪些浏览器支持这个。怎么办呢?

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

1 个答案:

答案 0 :(得分: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;
}

以下是测试页:http://jsfiddle.net/Hk4xA/6/

edit2 :DOM再次受到攻击。我忘了createEvent完全不适用于IE。所以我也使用jQuery来创建事件。