contextmenu 事件


將事件處理常式繫結到「contextmenu」事件,或在元素上觸發該事件。

.on( handler )傳回:jQuery

說明:將事件處理常式繫結到「contextmenu」事件。

此頁面說明 contextmenu 事件。有關已棄用的 .contextmenu() 方法,請參閱 .contextmenu()

當滑鼠右鍵按在元素上時,會傳送 contextmenu 事件到該元素,但會在顯示內容選單之前傳送。如果按了內容選單鍵,則會在 html 元素或目前焦點元素上觸發事件。任何 HTML 元素都可以接收此事件。例如,考慮以下 HTML

1
2
3
<div id="target">
Right-click here
</div>

事件處理常式可以繫結到 <div>,如下所示

1
2
3
$( "#target" ).on( "contextmenu", function() {
alert( "Handler for `contextmenu` called." );
} );

現在,右鍵按一下此元素會顯示警示

已呼叫 `contextmenu` 處理常式。

若要手動觸發事件,請使用 .trigger( "contextmenu" )

1
$( "#target" ).trigger( "contextmenu" );

範例

若要在頁面上段落觸發 contextmenu 事件時,顯示「Hello World!」警示方塊

1
2
3
$( "p" ).on( "contextmenu", function() {
alert( "Hello World!" );
} );

右鍵按一下以切換背景顏色。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>on demo</title>
<style>
div {
background: blue;
color: white;
height: 100px;
width: 150px;
}
div.contextmenu {
background: yellow;
color: black;
}
</style>
<script src="https://code.jquery.com/jquery-3.7.0.js"></script>
</head>
<body>
<div></div>
<span>Right click the block</span>
<script>
var div = $( "div" ).first();
div.on( "contextmenu", function() {
div.toggleClass( "contextmenu" );
} );
</script>
</body>
</html>

示範