📜  HTML | oncontextmenu 事件属性(1)

📅  最后修改于: 2023-12-03 15:01:14.464000             🧑  作者: Mango

HTML | oncontextmenu 事件属性

在 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 元素上同时定义了 oncontextmenuonclick 事件属性,那么右键单击该元素时,浏览器将会同时触发这两个事件。如果想要防止这种情况发生,可以在 oncontextmenu 事件处理程序中返回 false

  • 在移动设备上,通常没有右键,因此 oncontextmenu 事件对于移动设备可能不适用。

  • oncontextmenu 事件仅在 Windows 和 Linux 等操作系统中提供上下文菜单时才会触发。在 macOS 中,用户无论如何都可以使用 CTRL-点击(与右键单击相同)打开上下文菜单。因此,如果需要阻止 macOS 上的上下文菜单,请使用 CTRL-键或 COMMAND-CTRL-键来代替右键单击。

参考资料