在网页中保留上下文菜单的原生样式

时间:2010-07-11 18:36:12

标签: javascript html right-click

我知道每个人都讨厌他们的上下文菜单搞砸了,所以我要求的是与此相反。我已经尝试过寻找改变网页上下文菜单的javascript插件,但我发现它们非常具有侵入性。 (即上下文菜单现在仅包含开发人员选择的项目)。有没有办法简单地将一个项目添加到上下文菜单中,同时保持用户的正常项目,同时保持菜单的原生样式?我找到的相同插件要求开发人员为菜单定义新样式。我没有看到重新发明轮子的重点。

我问,因为我的客户希望在用户右键点击时为网站添加额外的功能。

1 个答案:

答案 0 :(得分:1)

  • 无法通过普通的javascript + DOM修改上下文菜单。它(通常)可以被抑制并被一些看起来像上下文菜单的动态HTML所取代。这就是为什么样式看起来不同,以及为什么你不能组合内置和自定义上下文菜单......在javascript中完成的'上下文菜单'根本就不是上下文菜单。

  • 如果事件被取消,则可以禁用上下文菜单,但这取决于浏览器 - 大多数浏览器提供禁止隐藏上下文菜单的选项;如果启用了那么即使事件被取消,菜单也会显示。这导致显示两个“上下文菜单”,真实的上下文菜单和伪造的javascript文件。

  • 要根据用户的系统外观设置网页样式,请使用CSS2(http://www.iangraham.org/books/xhtml1/appd/update-23feb2000.html)和/或CSS3外观属性(http://www.w3.org/TR/2004/CR-css3-ui-20040511/#system)中定义的系统颜色

    < / LI>

编辑:回复"a client of mine wants to add extra functionality to the site when the user right clicks" - 您可能想建议客户只有在网站是Web应用程序(例如google docs)时才应该这样做,用户会合理地期望上下文菜单做一些与众不同的事。您还应确保有一种非隐藏方式可以通过上下文菜单完成所有操作。