In JavaScript, the webkitmouseforcedown event is a proprietary WebKit / Safari Force Touch signal: after mousedown, when pressure is high enough for a force click, Safari sends webkitmouseforcedown (MDN). It is a MouseEvent; read pressure with event.webkitForce.
Register a listener with addEventListener. Check readiness and browser support before you rely on this event.
Syntax
Listen for webkitmouseforcedown. Start with this line.
JavaScript
el.addEventListener("webkitmouseforcedown", fn)
Call
What it does
el.addEventListener("webkitmouseforcedown", fn)
Primary signature.
Built into the browser. Listen with el.addEventListener("webkitmouseforcedown", …) — no import required.
Library declarations
JavaScript
el.addEventListener("webkitmouseforcedown", fn)
Parameters
Parameter
Description
Event target
Required. Element receiving the force click
Prior mousedown
Required. MDN: force down comes after mousedown
Force Touch + Safari
Required. Otherwise the event never fires
Return Value
Return Value
Description
*
Fires as an Element event (listener receives the Event object).
JavaScript Examples
Example 1 — Listen for Force Click
Log when Safari reports a force-click enter.
JavaScript
const pad = document.getElementById("pad");
const out = document.getElementById("out");
pad.addEventListener("webkitmouseforcedown", () => {
out.textContent = "webkitmouseforcedown fired";
});
No Force Touch — use long-press / PointerEvent.pressure
How It Works
Feature-detect. Looking for onwebkitmouseforcedown is a common Safari check.
Branch the UX. Only attach the Force Touch listener when support exists.
Plan a fallback. Long-press or Pointer Events pressure for other browsers.
Do not require it. Most users will take the fallback path.
Compatibility
Browser Support
webkitmouseforcedown is Non-standard on MDN — proprietary Safari / WebKit Force Touch. Not Baseline. Not part of any web specification. Prefer portable long-press or Pointer Events for cross-browser apps.
✓ Non-standard
Element webkitmouseforcedown
Safari Force Touch force-click enter only. Not available in Chrome, Firefox, or Edge as a standard event.
SafariWebKit only
Google ChromeNot supported (use fallback)
Unavailable
Mozilla FirefoxNot supported (use fallback)
Unavailable
Apple SafariForce Touch hardware / WebKit
Supported
Microsoft EdgeNot supported (use fallback)
Unavailable
OperaNot supported
Unavailable
Internet ExplorerNot supported
Unavailable
webkitmouseforcedownLimited
Bottom line: Optional Safari enhancement. Ship a long-press / Pointer Events path for everyone else.
Frequently Asked Questions
After a mousedown has fired, when enough pressure is applied for a “force click,” Safari begins sending webkitmouseforcedown to the element (MDN). It is the Force Touch “force click started” signal.
MDN marks it Non-standard only — not Deprecated and not Experimental. It is not part of any web specification. Prefer portable APIs for production.
A MouseEvent (inherits from UIEvent / Event). Read pressure with the non-standard MouseEvent.webkitForce property.
webkitmouseforcechanged fires repeatedly as pressure changes. webkitmouseforcedown fires when pressure reaches force-click level (after mousedown). webkitmouseforceup fires when pressure drops out of that range.
Prefer Pointer Events (for example long-press timers or PointerEvent.pressure thresholds) with mouse/touch fallbacks. Treat Force Touch as an optional Safari enhancement only.
Use element.addEventListener("webkitmouseforcedown", handler), or set onwebkitmouseforcedown where supported. Always feature-detect first.