浏览器上下文菜单自定义?

时间:2009-12-23 17:05:12

标签: browser override contextmenu

有没有办法在textarea的浏览器右键单击上下文菜单中覆盖“撤消”和“全选”?

谢谢。

2 个答案:

答案 0 :(得分:1)

我知道你可以通过注册click()事件来阻止整个上下文菜单打开,执行一些跨浏览器的mumbo-jumbo来点击按钮,然后如果点击了正确的按钮则返回false。 / p>

但是,我认为不可能修改上下文菜单本身,至少不使用javascript。

我应该补充一点,你可能想重新考虑一下你为什么要这样做。这绝不是对任何事情的保护(有些人试图阻止从他们的网站上复制图像),因为它可能只是通过关闭javascript来禁用。

更新:好的,所以你不想阻止用户做事,bug让他们按你自己的方式做事。然后,我想最好的办法是:

  1. 为用户提供工具栏,允许他们执行这些操作(从而使他们使用您的操作而非默认操作
  2. 将常用键盘快捷键映射到您的操作(Ctrl + A,Ctrl + Z等等)
  3. 用您自己的替换右键菜单。
  4. 您在另一条评论中提到,您无法复制复制/粘贴,这是正确的,但如果您真的需要,您可以实现自己的剪贴板(仅适用于您的webapp)。

答案 1 :(得分:1)

您无法编辑浏览器的内置上下文菜单,但您可以使用oncontextmenu对象上的window事件将其禁用并替换为您自己的菜单。我要提醒一下,这通常是一个坏主意。用户希望找到内置的上下文菜单,并且当它不存在时常常会感到沮丧。