Side navigation
#3982 closed bug (fixed)
Opened January 24, 2009 03:36AM UTC
Closed June 22, 2010 03:21AM UTC
Last modified March 14, 2012 11:39AM UTC
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: | |
Blocked by: | Blocking: |
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
trueprevents the default browser error dialog from being displayed. This is the opposite of a normal event where returning
falseprevents 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 (1)
Change History (3)
Changed May 06, 2009 01:59AM UTC by comment:1
milestone: | 1.3.2 → 1.3.3 |
---|
Changed May 10, 2009 01:58AM UTC by comment:2
Given how crazy the error event is, and how frequently it's used, I agree that it's easiest to remove support for it. I've added a note to the docs already since it didn't work anyway.
Changed June 22, 2010 03:21AM UTC by comment:3
resolution: | → fixed |
---|---|
status: | new → closed |
Fixed via docs.
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.