您好我想在我的网站上禁用上下文菜单,所以我将oncontextmenu= return false
放在正文中,但我想要为网站上的一个特定图片启用它。有没有办法重新启用此特定元素的上下文菜单?
答案 0 :(得分:0)
n你的错误是将它添加到body标签,因为这有效地确保将“oncontextmenu”事件添加到 <body>
的所有元素 - 这是因为DOM中的事件“冒泡”。
以下是我认为可以实现您所需要的一个例子:
<html>
<body>
<h1 oncontextmenu="test();">Right click me to do custom stuff!</h1>
<h1>Right click me and the usual should happen</h1>
</body>
<script type="text/javascript">
function test() {
window.alert("Custom stuff happens!");
}
</script>
</html>
虽然有可能阻止事件的传播(请参阅jQuery的https://api.jquery.com/event.stoppropagation/函数作为执行此操作的一种好方法),但在您的情况下,上述应该可以完成这一操作而无需大量额外代码来决定是否点击的元素应该响应该事件。