The webkitmouseforceup event fires when pressure drops enough to end a force click after webkitmouseforcedown. Learn MouseEvent.webkitForce, onwebkitmouseforceup, cleanup patterns, portable alternatives, and five try-it labs.
01
Kind
Instance event
02
Type
MouseEvent
03
When
Force click ends
04
Handler
onwebkitmouseforceup
05
After
forcedown
06
Status
Non-standard
Fundamentals
Introduction
When a Force Touch force click ends—pressure reduced enough after webkitmouseforcedown—Safari fires webkitmouseforceup. Use it to leave “force-click mode,” close a peek preview, or stop a temporary action you started on forcedown.
Continuous pressure updates still come from webkitmouseforcechanged. For portable apps, clean up on pointerup / pointercancel (or when a long-press timer is cleared), and treat Force Touch as an optional Safari path.
💡
Beginner tip
Always pair forcedown with forceup (or a fallback cancel path). Otherwise UI can get stuck in a “force click active” state if pressure drops without a release handler.
Concept
Understanding webkitmouseforceup
An instance event for Safari Force Touch force-click end. MDN: fired some time after webkitmouseforcedown, when pressure has been reduced sufficiently to end the force click.
Trigger — left the force-click pressure range (after forcedown).
MouseEvent — use non-standard webkitForce for pressure.
Pair with — webkitmouseforcedown for enter/exit UI.
Non-standard — Safari / WebKit proprietary; not Baseline.
Foundation
📝 Syntax
Use the event name with addEventListener, or set the handler property:
Pointer position in the viewport (standard MouseEvent)
Compare
⚖️ Force Touch event family
Event
When it fires
webkitmouseforcewillbegin
Before mousedown (can be default-prevented)
mousedown
Normal mouse down
webkitmouseforcechanged
Each pressure change after mousedown, before mouseup
webkitmouseforcedown
Pressure reached “force click” level
webkitmouseforceup
Pressure dropped out of force-click range
mouseup
Normal mouse up
Cheat Sheet
⚡ Quick Reference
Goal
Code
Listen
el.addEventListener("webkitmouseforceup", fn)
Handler property
el.onwebkitmouseforceup = fn
Read pressure
event.webkitForce
Enter force click
webkitmouseforcedown
Portable cleanup
pointerup / pointercancel
MDN status
Non-standard
Snapshot
🔍 At a Glance
Four facts to remember about webkitmouseforceup.
Event type
MouseEvent
+ webkitForce
Means
force-end
After forcedown
Engine
Safari
Force Touch
Standard?
no
Non-standard
Hands-On
Examples Gallery
Examples follow MDN Element: webkitmouseforceup event and Apple’s Force Touch docs. Labs feature-detect so they still teach useful lessons without Force Touch hardware.
📚 Getting Started
Register handlers the MDN ways when a force click ends.
Example 1 — addEventListener("webkitmouseforceup")
Log when Safari reports the force click has ended.
JavaScript
const pad = document.getElementById("pad");
const out = document.getElementById("out");
pad.addEventListener("webkitmouseforceup", () => {
out.textContent = "Force click up";
});
webkitmouseforceup is marked Non-standard on MDN. Logos use the shared browser-image-sprite.png sprite from this project. Expect Safari on Force Touch hardware only—always ship a pointerup / long-press-end fallback.
✓ Non-standard
Element webkitmouseforceup
Proprietary WebKit Force Touch force-click-end signal; not a portable primary API.
SafariNot standardized
Google ChromeNo Force Touch events; use pointerup cleanup
No
Mozilla FirefoxNo Force Touch events; use pointerup cleanup
No
Apple SafariForce Touch trackpad / screen (where hardware supports)
WebKit
Microsoft EdgeNo Force Touch events; use pointerup cleanup
No
OperaNo Force Touch events; use pointerup cleanup
No
Internet ExplorerNo
No
webkitmouseforceupNon-standard
Bottom line: Use Force Touch forceup only as an optional Safari enhancement; clean up on pointerup/pointercancel for everyone else.
Wrap Up
Conclusion
webkitmouseforceup is Safari’s “force click ended” signal after webkitmouseforcedown. Use it for cleanup, pair enter/exit handlers, and never treat it as a cross-browser requirement.
Feature-detect before attaching Force Touch listeners
Always exit force mode on forceup (or portable release)
Pair with forcedown for enter/exit UI
Keep Force Touch as an optional Safari enhancement
Test on real Force Touch hardware when shipping Safari extras
❌ Don’t
Require webkitmouseforceup for core product features
Enter force mode without a cleanup path
Assume Chromium/Firefox will ever fire these events
Confuse forceup with continuous forcechanged updates
Forget pointercancel in portable fallbacks
Summary
Key Takeaways
Knowledge Unlocked
Five things to remember about webkitmouseforceup
Safari force-click ended—cleanup time, not portable.
5
Core concepts
👆01
Force end
after forcedown
Event
🖱02
MouseEvent
webkitForce
API
🔄03
Cleanup
exit force mode
Pattern
📱04
Prefer
pointerup
Portable
🚫05
Non-standard
Safari only
Status
❓ Frequently Asked Questions
Safari fires webkitmouseforceup sometime after webkitmouseforcedown, when pressure has been reduced enough to end the force click. It is the Force Touch “force click ended” signal.
MDN marks Element webkitmouseforceup as 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.
Use element.addEventListener("webkitmouseforceup", handler), or set onwebkitmouseforceup where supported. Always feature-detect first.
webkitmouseforcedown fires when pressure reaches force-click level. webkitmouseforceup fires later when pressure drops enough to leave that force-click state.
Prefer Pointer Events or long-press patterns (clear timers on pointerup/pointercancel). Treat Force Touch as an optional Safari enhancement only.
Did you know?
Force click end is about pressure, not necessarily finger lift. You can still be pressing lightly when webkitmouseforceup fires; a normal mouseup may come later when the button is fully released.