javascript - 检测浏览器是否支持右键事件覆盖

标签 javascript jquery jquery-events right-click

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

我听说 Opera 和 Safari 的某些版本不支持这种右键覆盖业务。

最佳答案

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

这是一个示例(使用 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 来创建事件。

关于javascript - 检测浏览器是否支持右键事件覆盖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2971821/

相关文章:

javascript - 未为分组层的子层触发 KineticJS 事件

javascript - 使用 CRUD 页面构建 React 应用程序的更好方法是什么?

javascript - 如何使用 Javascript 在客户端生成和下载大文件?

jQuery - 如何显示/隐藏动态生成的 html 元素

javascript - 如果用户已经在 Facebook 粉丝页面上单击了 "like",如何检查我的网站?

jquery - 传递变量 - undefined 不是函数

javascript - 在 javascript 中使用 with 是不好的做法吗?

javascript - 使用服务在 Controller 之间共享状态

javascript - Twitter Bootstrap 模式隐藏事件只触发一次

javascript - 如何禁用 Chrome 的 Ctrl + P