Ticket #11028 (closed bug: invalid)
$.event.handle stopped working on jQuery 1.7.x
| Reported by: | pedrolamas@… | Owned by: | pedrolamas@… |
|---|---|---|---|
| Priority: | undecided | Milestone: | None |
| Component: | unfiled | Version: | 1.7.1 |
| Keywords: | Cc: | ||
| Blocking: | Blocked by: |
Description
Greetings,
I have a jQuery plugin, Lightbox from Balupton, that is being used by many Wordpress users (and I really mean MANY USERS!!!)
It worker fine with jQuery 1.6.4, but since 1.7 it stopped working correctly...
I managed to narrow the issue to the usage of $.event.handle.apply that seems to do nothing!
I've set two samples online for you to check it out here (with jQuery 1.6.4 and 1.7.1): http://dl.dropbox.com/u/28356/jquerybug/index.htm
Can you help me with this please?
Best regards,
Pedro Lamas
Change History
comment:1 Changed 17 months ago by dmethvin
- Status changed from new to closed
- Resolution set to invalid
comment:2 Changed 17 months ago by pedrolamas@…
There is something I think skipped you: I think Balupton stopped developing this plugin so currently, I'M THE DEVELOPER!
I've maintained the plugin on a personal forked GitHub branch from the main one, and so far I managed to get it working quite well, but then came jQuery 1.7.X and all hell broke loose... :(
comment:3 Changed 17 months ago by dmethvin
- Status changed from closed to reopened
- Resolution invalid deleted
comment:4 Changed 17 months ago by dmethvin
- Owner set to pedrolamas@…
- Status changed from reopened to pending
It wasn't clear from the description that you were the developer.
I took a quick look, and the thing I see that is immediately wrong is that you are trying to hold onto the event object after the event has been fired and use it on a timeout. The consequences of doing that are undefined. In IE<9 specifically, the native window.event object is invalid once the event handler has returned for example.
The plugin is much too big to debug, and I am not sure what I am supposed to be seeing. All I know is that you have said it "stopped working correctly".
Can you provide a reduced test case? Just strip out all the unused code in your plugin so it is possible to see what code is involved.
comment:5 Changed 17 months ago by pedrolamas@…
- Status changed from pending to new
First of all, thank you for your help! :) Well, you nailed what it's being done there, and I found how to fix (though it's not really a good fix): On line 642 of the plugin js file I have this:
event.type = 'lastclick'; $.event.handle.apply(Me, [event,clicks])
I just changed those two to this:
event.type = 'lastclick';
event.isPropagationStopped = function() { return false };
$.event.handle.apply(Me, [event,clicks])
So, I just reseted the isPropagationStopped and sudently it started working fine! :)
I guess the change from jQuery 1.7 to the previous versions has something to do with the event propagation, but I really don't know what it is!
Right now the plugin is working again, and the users seems to confirm it! :)
Please follow the bug reporting guidlines and use jsFiddle when providing test cases and demonstrations instead of pasting the code in the ticket.

You would need to contact the author of the plugin. The address in the plugin seems to be dead, http://www.balupton.com/projects/jquery-lightbox, but Google says this is the place to go.
http://getsatisfaction.com/balupton/products/balupton_jquery_lightbox