Skip to main content

Bug Tracker

Side navigation

#10546 closed bug (cantfix)

Opened October 20, 2011 03:42PM UTC

Closed December 07, 2011 09:01PM UTC

Last modified May 29, 2012 10:04AM UTC

.live not working on iOS 5

Reported by: jquerybugs@nicholassloan.com Owned by:
Priority: high Milestone: None
Component: event Version: 1.6.4
Keywords: Cc:
Blocked by: Blocking:
Description

Here is a fiddle demonstrating the issue:

http://jsfiddle.net/hjYRR/2/

Please refer to this URL on iOS to test the bug:

http://jsfiddle.net/hjYRR/2/embedded/result/

Attachments (0)
Change History (7)

Changed October 24, 2011 08:22PM UTC by addyosmani comment:1

component: unfiledevent
priority: undecidedhigh
status: newopen

Confirmed on iOS5. .bind() test working fine but .live() is unresponsive.

Changed December 07, 2011 08:09PM UTC by sindresorhus comment:2

Changed December 07, 2011 09:01PM UTC by dmethvin comment:3

keywords: → needsdocs
resolution: → cantfix
status: openclosed

Unfortunately, we cannot fix this in core. There is a workaround but it has several negative side-effects that would drive people crazy.

We'll be writing up some workarounds and putting them at the new documentation site; they essentially come down to:

  • Use clickable elements such as a or button that do bubble, which is best practice anyway.
  • Use .on() or .delegate() to handle the click event *below* the level of document.body, since iOS does bubble it there.
  • Apply the cursor: pointer CSS style to the element that needs to bubble clicks or a parent (including document.documentElement if necessary). Realize that this will cause all touched elements to be highlighted and also disable copy/paste, so it's not a good solution.

Changed December 26, 2011 11:52PM UTC by addyosmani comment:4

Working through docs for this atm.

Changed December 27, 2011 10:32PM UTC by addyosmani comment:5

keywords: needsdocs

Docs updated.

Changed May 03, 2012 06:50AM UTC by gravof comment:6

_comment0: Since `live()` is deprecated, I guess the docs should be move to `on()`?1336027862008512

Since .live() is deprecated, I guess the docs should be move to .on()?

Changed May 29, 2012 10:04AM UTC by sindresorhus comment:7

#11831 is a duplicate of this ticket.