2009-12-23 98 views
1

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

谢谢。

+1

当你说覆盖,你的意思是要删除/禁用这些项目,或更改其功能? – 2009-12-23 17:27:20

+0

最好改变。 你看我有我自己的“撤销”和“全部选择”,默认是不行的。 – thedp 2009-12-23 19:00:51

回答

1

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

+0

创建我自己的菜单是无用的我无法模拟“复制”和“粘贴”,该死的安全:P – thedp 2009-12-23 19:02:05

1

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

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

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

更新:好的,所以你不想阻止用户做事情,错误让他们以你的方式做事。然后,我想做到的最好的事情是:

  1. 为用户提供一个工具栏,让他们做这些事情(从而使他们用自己的行为,而不是默认的一个
  2. 地图通常的键盘快捷键到你的行动(按Ctrl + A,按Ctrl + Z,等...)
  3. 换成你自己的右键菜单。

你在另一个评论,你不能复制的复制/粘贴,这是mentionned正确的,但是如果你真的喜欢,你可以实现你自己的剪贴板(只适用于你的webapp)已经到了。

+0

我不是想阻止人们偷东西,来吧。 我需要更改或禁用“撤消”和“全选”,因为它们可能并可能会在我的web应用程序中创建一个混乱。 – thedp 2009-12-23 19:04:33

+0

正如我之前所说,没有办法模拟“复制”和“粘贴”...而且我希望我的用户从/复制/粘贴到我的web应用程序..:/ – thedp 2009-12-23 19:41:44

相关问题