#4196 closed bug (duplicate)
$(fn) acts differently in browsers if jQuery loaded late
Reported by: | friedcell | Owned by: | brandon |
---|---|---|---|
Priority: | major | Milestone: | 1.3.2 |
Component: | event | Version: | 1.3.1 |
Keywords: | Cc: | ||
Blocked by: | Blocking: |
Description
If you load jQuery after DOMContentLoaded and load events fired modern browsers will never fire $(fn) while IE will fire it immediately since it doesn't rely on events.
Looking at the code a simple check should be made after setting readyBound: if (document.readyState === 'complete')
return jQuery.ready();
Attachments (1)
Change History (4)
Changed 13 years ago by
comment:1 Changed 13 years ago by
The function passed to $(document).ready() is never called if:
- 1) Using Firefox 3.5 or older.
- 2) And loading jquery on demand. I.e., by inserting jquery script into <head> dynamically.
How to reproduce:
- 1) Open the attached test.html.
- 2) Click on the "Load jQuery" link.
- 3) Two alerts should arise.
Only the "before ready" alert arises on Firefox 3.5. The "inside ready" alert is never seen there.
The old Firefox don't have document.readyState.
comment:2 Changed 12 years ago by
Resolution: | → duplicate |
---|---|
Status: | new → closed |
Note: See
TracTickets for help on using
tickets.
A test to reproduce the bug.