Non-standard
This feature is not on a current W3C standards track, but it is supported on the Firefox OS platform. Although implementations may change in the future and it is not supported widely across browsers, it is suitable for use in code dedicated to Firefox OS apps.
This API is available on Firefox OS for privileged or certified applications only.
The sendMouseEvent()
method of the HTMLIFrameElement
interface allows you to fake a mouse event and send it to the browser <iframe>
's content.
Syntax
instanceOfHTMLIframeElement.sendMouseEvent(type, x, y, button, clickCount, modifiers);
Returns
Void.
Parameters
type
- A string representing the event type. Possible values are
mousedown
,mouseup
,mousemove
,mouseover
,mouseout
, orcontextmenu
. x
- A number representing the x position of the cursor relative to the browser
<iframe>
's visible area in CSS pixels. y
- A number representing the y position of the cursor relative to the browser
<iframe>
's visible area in CSS pixels. button
- A number representing which button has been pressed on the mouse:
0
(Left button),1
(middle button), or2
(right button). clickCount
- The number of clicks that should be performed.
modifiers
- A number representing a key pressed at the same time the mouse button was clicked:
1
: Alt2
: Ctrl4
: Shift8
: Meta16
: Alt Gr32
: Caps Lock64
: Fn128
: Num Lock256
: Scroll512
: Symbol Lock1024
: Win
Note: You can specify multiple key modifiers separated by a pipe symbol, for example
1 | 1014
.
Examples
var browser = document.querySelector('iframe'); browser.sendMouseEvent("mousemove", x, y, 0, 0, 0); browser.sendMouseEvent("mousedown", x, y, 0, 1, 0); browser.sendMouseEvent("mouseup", x, y, 0, 1, 0);
Specification
Not part of any specification.
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | Not supported | Not supported | Not supported | Not supported | Not supported |
Feature | Android | Firefox Mobile (Gecko) | Firefox OS (Gecko) | IE Phone | Opera Mobile | Safari Mobile |
---|---|---|---|---|---|---|
Basic support | Not supported | Not supported | 1.0.1 | Not supported | Not supported | Not supported |
Note: Use of the Browser API requires a privileged app, and browser
and/or embed-apps
permissions, depending on what you want to do. See Using the Browser API for more details.