Skip to content

api.UIEvent.detail - iOS Mobile Safari doesn't update click count #27528

@gerneio

Description

@gerneio

What type of issue is this?

Incorrect support data (example: BrowserX says "86" but support was added in "40")

What information was incorrect, unhelpful, or incomplete?

When using iOS/iPad mobile Safari, the click event never updates the event.detail value with the current # of consecutive clicks like it does on other platforms. Works on desktop Safari, just not the mobile variants (same behavior on iOS Safari web view).

The MDN browser compat chart needs updated on the respective page to show this lack of support.

Image

What browsers does this problem apply to, if applicable?

Safari

What did you expect to see?

The chart should correctly show that event.detail is not updated on iOS.

Did you test this? If so, how?

Tested on iOS 18.5 using this MDN playground. Attached a screen recording below from a Mac running desktop Safari and iOS simulator app side-by-side for comparison.

2025-08-07_9-45-19.mp4

Can you link to any release notes, bugs, pull requests, or MDN pages related to this?

Overall, I didn't find a ton of discussion on this, just this SO post claiming the same issue, but there were no comments/replies at all on that post.

Do you have anything more you want to share?

User's will have to implement their own multi-click tracking logic when using this event on iOS. Personally, I came up with this which works on all platforms:

function CreateMultiClickEvent(ele) {
    if (!ele) return;

    const timeout = 480;
    let timer, clickCnt = 0;

    ele.addEventListener("click", function (event) {
        if (timer) clearTimeout(timer);
        timer = setTimeout(() => { clickCnt = 0; timer = null }, timeout);

        let cnt = ++clickCnt;

        let clonedEv = {};
        for (let i in event) clonedEv[i] = event[i];

        clonedEv = new PointerEvent("multiclick", { 
          ...clonedEv, 
          detail: cnt
        });
        // console.log("multiclick", event.detail, clonedEv.detail);

        ele.dispatchEvent(clonedEv);
    });
}

CreateMultiClickEvent(lbl);
lbl.addEventListener('multiclick', (e) => console.log("multiclick", e.detail));

MDN URL

https://developer.mozilla.org/en-US/docs/Web/API/UIEvent/detail

MDN metadata

MDN page report details
  • Query: api.UIEvent.detail
  • Report started: 2025-08-07T14:31:30.598Z

Metadata

Metadata

Assignees

No one assigned

    Labels

    data:apiCompat data for Web APIs. https://developer.mozilla.org/docs/Web/APIneeds triageThis issue needs to be confirmed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions