Commit graph

232 commits

Author SHA1 Message Date
jeresig 5a0ac24e35 Make sure that submit event is still bound for regular form submit events. Thanks to Mark Gibson for the fix suggestion. 2010-01-11 12:26:28 -05:00
jeresig e9d5947b4a Adding in backwards-compatiblity support for jQuery().bind/unbind/trigger - and immediately deprecating it. Please explicitly use jQuery(document) in your code. 2010-01-06 11:32:29 -05:00
jeresig 230614b4df Merging in jQuery.proxy() branch. 2010-01-05 19:18:39 -05:00
jeresig 8db0dd2c64 Added in a holdover jQuery.event.guid for back-compat (two plugins use it: mousewheel and a datepicker). Plugin authors should work to stop using jQuery.event.guid and jQuery.event.proxy ASAP. 2010-01-05 19:17:28 -05:00
jeresig a5dbca4a06 Moved jQuery.proxy() into core. 2009-12-31 15:06:45 -05:00
jeresig 40ce7f9830 Merge branch 'bug-5735' 2009-12-31 14:49:01 -05:00
jeresig 6cb2945837 Rather than declaring empty anonymous functions all around, introduce and use a single empty function. Thanks to Matt Kruse for the suggestion. 2009-12-31 09:50:49 -05:00
jeresig ea5d514008 When .bind('unload') was called it accidentally went recursive, from 1bac61655b. Fixes #5688. 2009-12-31 00:49:53 -05:00
jeresig 66975de2d2 Remove the .bind(name, fn, thisObject) and promote jQuery.event.proxy() to jQuery.proxy() as alternative to handling scoping on callbacks. Fixes #5736. 2009-12-31 00:37:23 -05:00
jeresig 7e69fdbad4 Fixed spelling mistake noted in dc6b7ce3469eaadb37a151d449e8d36571d1894. 2009-12-21 20:19:49 -05:00
jeresig 3776cbe314 Standardize on using double-quotes for string literals. 2009-12-21 20:13:16 -05:00
jeresig 61e37d4149 Made a number of spacing changes to bring the code more-inline with the jQuery Core Style Guideline. 2009-12-21 19:58:13 -05:00
jeresig 36c99dc0c7 Tweaked the syntax of withinElement a bit. 2009-12-21 18:06:23 -05:00
jeresig e083d15fc7 Tweaked a couple cases where == was used instead of ===. 2009-12-21 18:02:02 -05:00
Alexander Farkas 209751fcbd Make sure that the beforeactivate event isn't accidentally prevented. 2009-12-21 16:24:03 -05:00
Jörn Zaefferer 03481a52c7 Stop trying to emulate the focus/blur event in IE, doesn't work as one might expect, anyway. Instead, implement the focusin/focusout events in all other browsers - which creates a much better parity across all browsers. Uses event capturing instead of bubbling to make it happen. Thanks to Alexander for the recommendation and to Joern Zaefferer for the original focus/blur delegation code. 2009-12-21 16:10:21 -05:00
Alexander Farkas 5dc6b7ce34 Used the patch from Alexander as the basis for a rewrite of the IE change event logic. Now has full parity with the regular change event in other browsers: Works with regular bind, works better with multiple selects, works as a regular change event (note test suite changes), works with readonly/disabled inputs, and much more. The original patch had a number of problems, including firing the change event too many times, not bubblinb properly, and not handling clicks on multi-selects properly - that should all be fixed now. Thanks Alexander for the patch pushing in the right direction. 2009-12-21 15:32:32 -05:00
jeresig 1feb92afb4 Make sure that we don't bind the onunload event in Opera. 2009-12-18 22:35:02 -05:00
jeresig 42f8c3add3 No need to use the conditional comment for binding the onunload event in IE. 2009-12-18 20:29:22 -05:00
jeresig 9997620420 Retooled the arguments.callee-related changes in 98ce35d52b to avoid re-declarations where possible. 2009-12-16 16:45:00 -05:00
jeresig fe9333cc79 No need to use jQuery's event system for binding the onunload event in IE. 2009-12-16 15:42:03 -05:00
John Resig 253e73af51 Fixed typo from commit 542099a278. 2009-12-11 12:49:22 -08:00
Karl Swedberg 1bac61655b combined jQuery.bind() and jQuery.one() to make them more DRY 2009-12-10 14:44:30 -08:00
John Resig f25eedf32a Restrict the attr quick setters to only methods that specifically ask for the functionality. Fixes #5612. 2009-12-09 21:28:33 -08:00
John Resig b846ad4ca0 Add a try/catch to handle the exception thrown by unloaded iframes in IE. Fixes #4280. 2009-12-09 16:00:59 -08:00
John Resig 3ec2f1aef6 Make sure that we don't try to trigger non-existant native events on applets, embed, objects, etc. as it'll cause an exception with Java applets. Fixes #2414. 2009-12-09 14:49:31 -08:00
John Resig 1052792bb2 Fixed problems with removing live events. Fixes #4894. 2009-12-09 14:43:53 -08:00
John Resig 86bbf9cf87 We have to access the native event handlers/triggers directly, otherwise they won't execute in most modern browsers. Fixes #5124. 2009-12-09 13:53:07 -08:00
John Resig 98ce35d52b Removed uses of arguments.callee from jQuery. 2009-12-07 16:42:25 -08:00
John Resig 00a0abb751 Moved .ready() to core.js from event.js. 2009-12-07 16:34:55 -08:00
John Resig 97323d192f Oops, missed a closing } from 7d36ccfa8e. 2009-12-07 07:38:16 -08:00
John Resig 7d36ccfa8e Broke out the logic for the bubbling change/submit events so that they aren't bound if they aren't used. 2009-12-06 18:20:08 -08:00
John Resig 542099a278 Make sure that we're doing proper focus bubble testing. Also simplified the logic for the IE focusin/focusout handling. 2009-12-06 18:02:58 -08:00
John Resig aea5b09195 Adding in cross-browser onbeforeunload support. Fixes #4106. 2009-12-06 16:55:08 -08:00
lrbabe 2d27e053a0 Fix inverted 'orig' and 'fix' event in mouseenter/mouseleave special events. 2009-12-06 09:13:57 +08:00
Karl Swedberg 3afc6533e2 added semicolons to end of 2 statements (and fixed a misspelled word in comment) 2009-12-06 08:55:54 +08:00
John Resig 8d1efee316 Retooled the native triggering code, simplifying it. 2009-12-04 23:18:05 -05:00
Justin Meyer d42afd0f65 Adding in support for bubbling submit and change events, thanks to the patch by Justin Meyer. Includes a delegation test suite for manually testing to see if the events work as intended. 2009-12-04 11:28:50 -05:00
jeresig c3b2aa9928 Landed the rest of the liveHandler rewrite that takes advantage of the new closest multi-selector signature (sorry, accidentally committed some of it in the wrong commit: 4daae7a79f). 2009-12-03 11:15:26 -05:00
jeresig 4daae7a79f No need to do the closest match if no selectors are passed in. 2009-12-03 10:51:04 -05:00
Karl Swedberg ddb86f8d5b added curly braces around all if/else statements 2009-11-28 04:09:14 +08:00
Robert Katic 0bb3998a6a Re-adding zeros removed from slice calls in last commit. 2009-11-26 00:58:39 +08:00
Robert Katic 04dbdb7525 Corrected RegExp to match event namespaces. Fixes #5303. 2009-11-26 00:58:39 +08:00
Andrea Giammarchi 3a23a5c17d Changed the === undefined ready event check to == null since frameElement is usually null and was skipping the normal line of checks. 2009-11-17 10:45:01 -05:00
Rich Dougherty bf71575bb4 Land Rich's fix for not using window.top to do frame detection. Fixes #4787. 2009-11-11 13:56:39 -05:00
Mr Speaker 5cb1163469 Making sure that you can bind multiple toggles to a single element without problems. Thanks to 'Mr Speaker' for the original patch. Fixes #5274. 2009-11-11 09:46:24 -05:00
John Resig 262fcf7b7b Require that, at least, document.body exists before firing the ready event. This may stop jQuery from working on pages that don't create a document.body (such as Safari, when no body exists) but considering that we've required a document.body since 1.3 and haven't broken any pages, this doesn't appear to be a pressing issue. Used the test case written by dmethvin to verify the bug and the fix. Fixes #4320. 2009-11-09 13:47:53 +01:00
John Resig 24e18d4cae Backing out commit 81bfd9b870, read the ticket incorrectly - and seeing some of the other earlier tickets it's obvious that a more generic solution is needed. Thanks jdalton for the catch. 2009-11-09 13:30:33 +01:00
John Resig 4fd730dca7 Merge branch 'master' of git@github.com:jquery/jquery 2009-11-09 13:01:10 +01:00
lrbabe d251809912 Making mouseenter and mouseleave work with .live(). 2009-11-09 12:59:54 +01:00
lrbabe 9a69b2cf08 Cleanup bubbling focus and blur events
- Use cached event instead of jQuery.event
- Do not cache event.special if you use it only once
2009-11-09 19:41:43 +08:00
rkatic 3dc5bc5a8b Make liveHandler to use jQuery.lastCloser and speed up internal sorting. 2009-11-08 00:37:05 +08:00
John Resig 81bfd9b870 Make sure that document.body exists, at least, in IE before the ready event is fired. Fixes #5443. 2009-11-07 16:00:43 +01:00
visionmedia 50cf4351a6 Consistant splits using " " instead of ","
This was used in several other areas, and IMO is easier to read
and since nothing is multi-word then we misewell use " "
2009-10-27 08:40:59 +08:00
John Resig 4b5a680f77 Fixed == change in ready. 2009-10-08 18:13:07 +00:00
Yehuda Katz 45dfa3b0fc Probably not the optimal solution, but tests pass. 2009-09-16 08:33:00 +00:00
Ariel Flesler 9ebb2fc654 jquery event: closes #5250. bind(), unbind() and one() support Object Literals (needs some refactor though) 2009-09-16 02:19:18 +00:00
Ariel Flesler 681f4fd3cd jquery event: misc removal 2009-09-14 22:58:20 +00:00
Ariel Flesler bca8225413 jquery event: fixes #4989. blur and focus events now bubble and can be handled using live(). 2009-09-14 22:04:22 +00:00
Brandon Aaron f3474c00cd fix for #5198, event memory leak limited to IE only via conditional compilation 2009-09-14 21:14:15 +00:00
John Resig 0a6c5205d2 Make sure that at least one argument is provided to .slice(), in accordance with the spec. Fixes jQuery bug #4942. 2009-07-23 13:22:55 +00:00
John Resig 6fc57be843 Support dynamically loaded copies of jQuery using document ready. Fixes #4889. 2009-07-22 15:03:23 +00:00
Brandon Aaron ee34b6982a fix for #3533, triggering an event with a colon in the name on a table no longer throws an error in IE 2009-06-17 02:31:45 +00:00
Brandon Aaron b763cc6602 fix regression in removing live events caused by r6324 2009-05-12 15:43:51 +00:00
Ariel Flesler d075072768 jquery event: misc change 2009-05-10 14:38:35 +00:00
Brandon Aaron 09b59038a0 unused, left-over code from r6344 2009-05-07 18:09:17 +00:00
Brandon Aaron 811891785f .bind() now accepts an optional thisObject as the last argument which is used to change the value of this in event callbacks. fixes #3699 2009-05-07 00:50:28 +00:00
Brandon Aaron 8f042d8be3 fix for #4234. hover can take one function to use for both enter and leave. 2009-05-06 02:17:24 +00:00
Brandon Aaron 3a9c827bf8 fix for #3286 2009-05-06 01:24:22 +00:00
Brandon Aaron cbda6c541b fix global event triggering that i broke in r6323 2009-05-01 00:59:27 +00:00
Brandon Aaron 96fd5f18d4 special event refactor left over code 2009-05-01 00:36:21 +00:00
Brandon Aaron c6db93c373 fix for #2620 2009-05-01 00:21:29 +00:00
Brandon Aaron a4b8fed8ad only copy guid from handler to modifiedHandler if it does not already have one 2009-05-01 00:02:51 +00:00
Brandon Aaron aef1989ba7 live event handlers now receive data from trigger, fixes #4532, thanks nbubna 2009-04-30 21:50:15 +00:00
Brandon Aaron 71efbdd3b2 refactor specialAll into add and remove hooks for existing special events, live now accepts optional data param like bind, fixes #4612 and #4613, thanks to Mike Helgeson 2009-04-30 21:44:25 +00:00
Brandon Aaron 287ecdbf67 event clean up 2009-04-30 01:26:09 +00:00
Brandon Aaron 851846aabe .unbind() without any arguments now also unbinds namespaced events. fixes #4609 and #4241 2009-04-29 21:45:58 +00:00
Brandon Aaron f5690995dd fix for #4268. bind now works with iframe windows. thanks tr4nslator 2009-04-22 04:18:53 +00:00
Brandon Aaron 3715d73f79 fix for #2911 2009-04-22 02:31:29 +00:00
Brandon Aaron f8ef75eb91 remove trailing spaces 2009-03-23 01:55:17 +00:00
Brandon Aaron 30e760b63f fix for #4189, live/die now work with contexts other than just document 2009-03-20 03:10:07 +00:00
John Resig dae96f552e Added some more information to the unload event cleanup. 2009-03-19 15:16:02 +00:00
John Resig 985856b823 No longer use arguments.callee or RegExp (use new RegExp, instead) for ES 3.1 and Caja compatibility. Fixes jQuery bug #4251. 2009-02-26 18:00:41 +00:00
Ariel Flesler 48164ee603 jquery event: Fixing event.currentTarget for live(). 2009-02-23 13:27:48 +00:00
Ariel Flesler 0a1b0db347 jquery event: closes #4033. e.currentTarget wasn't being enforced for native events (IE doesn't have it) 2009-02-17 12:38:16 +00:00
John Resig 9aa0c69c43 Fixed bubbling of live events (if an inner element handles an event first - and stops progatation - then the parent event doesn't encounter the event). Thanks to Irae for the patch. Fixes bug #3980. 2009-02-09 23:29:57 +00:00
John Resig ce00f88ae2 Added a fix, suggested by Diego, for IE firing the ready event too late. Fixes bug #3988. 2009-01-28 22:38:00 +00:00
John Resig a78557472c Focused support of .live(). stopPropagation and stopImmediatePropagation are not supported - and do not do what the use would expect. 2009-01-20 17:25:37 +00:00
Ariel Flesler 735d44f6df jquery event: closes #3843. Some events' timeStamp are wrong on Firefox, we don't rely on the native value anymore. timeStamp reflects object creation, not last event triggered. 2009-01-19 22:20:25 +00:00
John Resig c2fad371f1 Made the IE frameElement check more explicit. Fixes #3880. 2009-01-17 22:04:23 +00:00
John Resig b1018cad12 Landed a fix for when a DOM element gets accidentally removed by another live event handler. Thanks to Irae for the patches. Fixed #3820. 2009-01-10 19:57:07 +00:00
John Resig ec7baf230d Didn't get specific enough with the proxy guid, fixes #3787. 2009-01-09 22:14:48 +00:00
John Resig d12e8a34e6 Made it so that you can bind a single function to multiple .live() selectors. Additionally, simplified the proxy code to provide a default proxy function.
Fixes #3787.
2009-01-09 22:10:42 +00:00
Ariel Flesler 6898cd6d2a jquery event: Fixes #3538. unbind on many events was failing. 2009-01-08 22:21:16 +00:00
John Resig 69e86d4f98 The triggered flag was being set too early, which was preventing bubbling form working when a
native event existed.
2009-01-05 20:43:24 +00:00
Ariel Flesler 42c99472cc jquery event: Removed a needless if (old code) 2009-01-05 13:31:21 +00:00
John Resig d1146aa7bf .live("div div") was failing due to the extra space in the selector (which conflicted with multiple event binding in .bind). 2009-01-04 23:58:43 +00:00
Ariel Flesler 9472728bce jquery event: event.stopImmediatePropagation() stops live handlers as well. 2009-01-04 22:32:18 +00:00
Ariel Flesler 303ad32c74 jquery event: Misc, removed a commented line from last commit. 2009-01-02 23:44:06 +00:00
Ariel Flesler b2552e6ea3 jquery event: Now using an internal argument to detect if bubbling on $.event.trigger. The other would fail when it receives an event object with target. Also, the target isn't nulled anymore.
In addition, there was a lot of code running O(n) during bubbling while not needed.
2009-01-02 23:07:16 +00:00