我要将自定义右键单击菜单添加到我的Web应用程序.这可以在不使用任何预构建库的情况下完成吗?如果是,如何显示不使用第三方JavaScript库的简单自定义右键菜单?

我的目标是谷歌文档的功能.它允许用户右键单击并向用户显示自己的菜单.

NOTE:个 我想学习如何制作自己的,而不是使用别人已经制作的东西,因为大多数时候,那些第三方库功能繁多,而我只想要我需要的功能,所以我希望它完全由我手工制作.

推荐答案

回答你的问题-使用contextmenu事件,如下所示:

if (document.addEventListener) {
  document.addEventListener('contextmenu', function(e) {
    alert("You've tried to open context menu"); //here you draw your own menu
    e.preventDefault();
  }, false);
} else {
  document.attachEvent('oncontextmenu', function() {
    alert("You've tried to open context menu");
    window.event.returnValue = false;
  });
}
<body>
  Lorem ipsum...
</body>

但是您应该问问自己,您真的想覆盖默认的右键单击行为吗?这取决于您正在开发的应用程序.


JSFIDDLE

Javascript相关问答推荐

序列查找器功能应用默认值而不是读取响应

Redux查询多个数据库Api reducerPath&

如何在mongoose中链接两个模型?

如何粗体匹配的字母时输入搜索框使用javascript?

在HTML语言中调用外部JavaScript文件中的函数

如何在Svelte中从一个codec函数中调用error()?

Webpack在导入前混淆文件名

同一类的所有div';S的模式窗口

Reaction组件在本应被设置隐藏时仍显示

我想将Sitecore搜索面过滤器从多个转换为单个

FileReader()不能处理Firefox和GiB文件

Socket.IO在刷新页面时执行函数两次

FindByIdAndUpdate在嵌套对象中创建_id

在Puppeteer中使用promise进行日志(log)记录时出现TargetCloseError

如何将对象推送到firestore数组?

将以前缓存的 Select 器与querySelector()一起使用

使用Java脚本替换字符串中的小文本格式hashtag

错误400:当我试图在React中使用put方法时,该字段是必需的

如果未定义,如何添加全局变量

Select 所有输入.值