Ticket #3982 (closed bug: fixed)
jQuery.error event gets incorrect arguments
| Reported by: | dmethvin | Owned by: | brandon |
|---|---|---|---|
| Priority: | major | Milestone: | 1.4 |
| Component: | event | Version: | 1.3.1 |
| Keywords: | error onerror | Cc: | |
| Blocking: | Blocked by: |
Description
The $(window).error() event/method doesn't pass the documented arguments correctly.
http://docs.jquery.com/Events/error#fn
A normal event gets one object, which is the event on most browsers (except IE which has a global event object). The window.onerror hander is defined to get THREE arguments: message, url, line number. Returning true prevents the default browser error dialog from being displayed. This is the opposite of a normal event where returning false prevents the default action.
In the test case attached, Firefox does call the jQuery handler but it gets only an incorrect event object. IE doesn't seem to call the jQuery handler.
A few possible solutions: 1) Drop support for the error event and have people use the native window.onerror. 2) Support the event as the native handler is documented, with three arguments and returning true to avoid a browser dialog. 3) Support the event but pass a special event object with properties similar to IE's and return false to avoid a browser dialog.
Attachments
Change History
Changed 4 years ago by dmethvin
-
attachment
test-3982.html
added
comment:1 Changed 4 years ago by brandon
- Milestone changed from 1.3.2 to 1.3.3
Hmm. We could probably implement this as a special event but my current thinking is just to recommend the native option or use a plugin for this scenario.
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

Test for window.onerror event