Bug Tracker

Opened 14 years ago

Closed 13 years ago

Last modified 11 years ago

#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:
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 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 (1)

test-3982.html (593 bytes) - added by dmethvin 14 years ago.
Test for window.onerror event

Download all attachments as: .zip

Change History (4)

Changed 14 years ago by dmethvin

Attachment: test-3982.html added

Test for window.onerror event

comment:1 Changed 14 years ago by brandon

Milestone: 1.3.21.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.

comment:2 Changed 14 years ago by dmethvin

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.

comment:3 Changed 13 years ago by dmethvin

Resolution: fixed
Status: newclosed

Fixed via docs.

Note: See TracTickets for help on using tickets.