📅  最后修改于: 2023-12-03 15:01:14.464000             🧑  作者: Mango
在 HTML 中,oncontextmenu
事件属性用于定义当用户右键单击元素时执行的 JavaScript 代码。该事件属性适用于所有 HTML 元素,包括 div
, button
, input
, textarea
, a
等等。
以下是 oncontextmenu
事件属性的语法:
<element oncontextmenu="JavaScript code">
其中,element
是指要应用 oncontextmenu
事件属性的 HTML 元素。JavaScript code
则是当用户右键单击 element
时要执行的 JavaScript 代码。
例如,以下代码会在用户右键单击一个按钮时执行 myFunction()
函数:
<button oncontextmenu="myFunction()">Right-click me</button>
下面的例子演示了如何使用 oncontextmenu
事件属性来阻止元素的默认右键菜单:
<div oncontextmenu="return false;">Right-click me to test</div>
在这个例子中,当用户右键单击 div 元素时,return false;
将阻止浏览器弹出默认右键菜单。
除了上面的例子中的 return false;
,也可以使用以下代码来阻止默认右键菜单:
<div oncontextmenu="event.preventDefault();">Right-click me to test</div>
如果在 HTML 元素上同时定义了 oncontextmenu
和 onclick
事件属性,那么右键单击该元素时,浏览器将会同时触发这两个事件。如果想要防止这种情况发生,可以在 oncontextmenu
事件处理程序中返回 false
。
在移动设备上,通常没有右键,因此 oncontextmenu
事件对于移动设备可能不适用。
oncontextmenu
事件仅在 Windows 和 Linux 等操作系统中提供上下文菜单时才会触发。在 macOS 中,用户无论如何都可以使用 CTRL-点击(与右键单击相同)打开上下文菜单。因此,如果需要阻止 macOS 上的上下文菜单,请使用 CTRL-键或 COMMAND-CTRL-键来代替右键单击。