Fires when the user clicks the right mouse button in the client area, opening the context menu.
Syntax
| Inline HTML | <ELEMENT oncontextmenu = "handler" ... >
| All platforms |
|---|
| Event property | object.oncontextmenu = handler | JScript only |
|---|
| object.oncontextmenu = GetRef("handler") | Visual Basic Scripting Edition (VBScript) 5.0 or later only |
| Named script |
<SCRIPT FOR =
object EVENT =
oncontextmenu>
| Internet Explorer only |
|---|
Event Information
| Bubbles | Yes |
|---|
| Cancels | Yes |
|---|
| To invoke |
Right-click the object. |
|---|
| Default action |
Opens the context menu. To cancel the default behavior, set the returnValue property of the event object to false. |
|---|
Event Object Properties
Although event handlers in the DHTML Object Model do not receive parameters directly, a handler can query the event object for the following event properties.
Available Properties
| altKey |
Sets or retrieves a value that indicates the state of the ALT key. |
|---|
| altLeft |
Sets or retrieves a value that indicates the state of the left ALT key. |
|---|
| cancelBubble |
Sets or retrieves whether the current event should bubble up the hierarchy of event handlers. |
|---|
| clientX |
Sets or retrieves the x-coordinate of the mouse pointer's position relative to the client area of the window, excluding window decorations and scroll bars. |
|---|
| clientY |
Sets or retrieves the y-coordinate of the mouse pointer's position relative to the client area of the window, excluding window decorations and scroll bars. |
|---|
| ctrlKey |
Sets or retrieves the state of the CTRL key. |
|---|
| ctrlLeft |
Sets or retrieves the state of the left CTRL key.
|
|---|
| offsetX |
Sets or retrieves the x-coordinate of the mouse pointer's position relative to the object firing the event. |
|---|
| offsetY |
Sets or retrieves the y-coordinate of the mouse pointer's position relative to the object firing the event. |
|---|
| returnValue |
Sets or retrieves the return value from the event. |
|---|
| screenX |
Sets or retrieves the x-coordinate of the mouse pointer's position relative to the user's screen. |
|---|
| screenY |
Sets or retrieves the y-coordinate of the mouse pointer's position relative to the user's screen. |
|---|
| shiftKey |
Sets or retrieves the state of the SHIFT key. |
|---|
| shiftLeft |
Retrieves the state of the left SHIFT key.
|
|---|
| srcElement |
Sets or retrieves the object that fired the event. |
|---|
| type |
Sets or retrieves the event name from the event object. |
|---|
| x |
Sets or retrieves the x-coordinate (in pixels) of the mouse pointer's offset from the closest relatively positioned parent element of the element that fired the event. |
|---|
| y |
Sets or retrieves the y-coordinate (in pixels) of the mouse pointer's offset from the closest relatively positioned parent element of the element that fired the event. |
|---|
Examples
This example shows how to prevent a context menu from appearing by canceling the oncontextmenu event handler.
|
<span style="width: 300px; background-color: blue; color: white;"
oncontextmenu="return false">
The context menu never displays when you right-click in this box. </span> |
This feature requires Microsoft® Internet Explorer 5 or later. Click the following icon to install the latest version. Then reload this page to view the sample.
Although area elements inherit the oncontextmenu event by way of the object hierarchy, they do not respond to right-click events in Windows Internet Explorer. However, it is possible to imitate the desired behavior by using the onfocus and onblur events to determine the currently selected region and trigger the appropriate action in the context menu handler of the img itself. Although it isn't used by Internet Explorer, retain the oncontextmenu event attribute on the area elements for a fully cross-browser implementation.
|
<script type="text/javascript">
var selectedArea = null;
function activate(e,f) {
selectedArea = f ? e : null;
}
function menu(e) {
if (selectedArea)
alert('right-click: ' + selectedArea.id);
else {
// cross-browser case
if (e.tagName == 'AREA')
alert('right-click: ' + e.id);
else
alert('right-click: ' + e.tagName);
}
return false;
}
</script>
<map id="Map0">
<area id="Area1" onfocus="activate(this,true)" onblur="activate(this,false)"
oncontextmenu="return menu(this)" shape="rect" coords="100, 50, 200, 150" href="..."/>
</map>
<img src="..." oncontextmenu="return menu(this)" usemap="#Map0" /> |
This feature requires Microsoft® Internet Explorer 6 or later. Click the following icon to install the latest version. Then reload this page to view the sample.
Standards Information
There is no public standard that applies to this event.
Applies To
|
A,
ADDRESS,
APPLET,
AREA,
B,
BDO,
BIG,
BLOCKQUOTE,
BODY,
BUTTON,
CAPTION,
CENTER,
CITE,
CODE,
CUSTOM,
DD,
DFN,
DIR,
DIV,
DL,
document,
DT,
EM,
EMBED,
FIELDSET,
FONT,
FORM,
hn,
HR,
I,
IMG,
INPUT type=button,
INPUT type=checkbox,
INPUT type=file,
INPUT type=image,
INPUT type=password,
INPUT type=radio,
INPUT type=reset,
INPUT type=submit,
INPUT type=text,
KBD,
LABEL,
LEGEND,
LI,
LISTING,
MARQUEE,
MENU,
nextID,
NOBR,
OL,
P,
PLAINTEXT,
PRE,
RT,
RUBY,
S,
SAMP,
SELECT,
SMALL,
SPAN,
STRIKE,
STRONG,
SUB,
SUP,
TABLE,
TBODY,
TD,
TEXTAREA,
TFOOT,
TH,
THEAD,
TR,
TT,
U,
UL,
VAR,
XMP |