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
Ariel Flesler
989e3f61f7
jquery event: closes #3772 . The extra function on $.event.trigger isn't supported anymore.
2009-01-02 22:23:52 +00:00
Ariel Flesler
c7a14f1391
jquery event: event.timeStamp wasn't being created when passing just the type to the constructor.
...
Misc: Simplified the readyList execution code.
2008-12-31 03:36:51 +00:00
Ariel Flesler
c0446c70d5
jquery event:
...
* event objects have isDefaultPrevented, isPropagationStopped and isImmediatePropagationStopped methods.
* Removed donative and dohandlers from $.trigger
* event.result carries the last returned data from a handler(not undefined).
* $.trigger doesn't keep bubbling if stopPropagation() is called.
* Same event object is used all along for global trigger
* Fixed the bug where target doesn't change when triggering on many elements.
* The data array on $.trigger was accumulating objects as it bubbles.
testrunner: adding more tests
2008-12-31 02:58:13 +00:00
Ariel Flesler
0a846e5be6
jquery event: removed the argument dohandlers from $.trigger. Uses another approach.
2008-12-30 23:29:14 +00:00
John Resig
4f7441910f
Made sure that return false works in .live() along with the event object being passed in as the first argument.
2008-12-30 20:45:33 +00:00
Ariel Flesler
4f99e793fa
jquery event: jQuery.Event can be instantiated without the 'new' keyword.
2008-12-29 21:57:29 +00:00
Ariel Flesler
4ca4ce52f7
jquery event: Closes #3662 . Adds a jQuery.Event class. Makes trigger and fix simpler. Adds currentTarget attribute to event objects. Event object isn't passed as part of data.
2008-12-25 21:44:54 +00:00
John Resig
77477d5634
Disabled native event triggering (and, thus, bubbling) for global events.
2008-12-22 14:47:34 +00:00
John Resig
c03a280155
Added a new liveQuery/event delegation hybrid method: .live and .die. Easily adapts event delegation to the jQuery style. $("div").live("click", fn); $("div > #foo").live("submit", fn); $("div").die("click");
2008-12-22 04:59:34 +00:00
John Resig
25885e07b2
Added support for bubbling triggered events.
2008-12-22 01:57:06 +00:00
John Resig
b850ab2b8e
Added the new jQuery.support object and removed all uses of jQuery.browser from within jQuery itself (while simultaneously deprecating the use of jQuery.browser).
2008-12-21 21:22:44 +00:00
John Resig
80a6a91347
Fixed a problem with multi-namespaced events not targetting the correct functions for execution.
2008-12-19 06:49:44 +00:00
John Resig
0935f4a0b1
Removing remaining strict-mode warnings.
2008-12-19 04:36:28 +00:00
John Resig
77344f4c50
Added support for multiple-namespaced events (in bind, trigger, and unbind).
2008-12-19 04:34:12 +00:00
John Resig
4c1e12e889
Simplifying the DOM ready code, no longer attempting to handle stylesheet loading. Closes #2614 .
2008-12-19 04:29:48 +00:00
John Resig
ab551c2b14
Standardized the type checks across core. isFunction and isArray now use Object.prototype.toString to verify the type, .constructor use was removed in favor of typeof, typeof checks now use ===, undefined checks use === undefined. All of this is outlined in the new style guidelines: http://docs.jquery.com/JQuery_Core_Style_Guidelines#Type_Checks . Fixes bug #3618 .
2008-11-17 16:32:05 +00:00
John Resig
3b1cf91fa4
Landed the patch, by Diego, that 1) Removes browser sniffing from the ready code and 2) Provides some form of fallback DOM Ready for Iframes in IE. Closes #2614 .
2008-11-12 13:18:47 +00:00
Ariel Flesler
ad54d14ae5
jquery event: extra for #3498 . Using the new mouse(enter|leave) shortcuts in $.fn.hover.
2008-10-22 10:06:54 +00:00
Ariel Flesler
69cbcf8637
jquery event: closes #3498 , adding $.fn.mouseenter & $.fn.mouseleave.
2008-10-21 01:49:11 +00:00
Ariel Flesler
aa9236e5ea
jquery event: closes #3355 . Added stopImmediatePropagation() to events.
2008-10-18 22:46:04 +00:00
Ariel Flesler
31293063fa
jquery event: closes #3127 . jQuery.event.special built-in methods were optimized. The mouse(enter|leave) special case is only added for non-IE browsers.Thanks to Mike Helgeson for his help.
2008-07-28 18:31:25 +00:00
Ariel Flesler
b36fe4686c
jquery event: closes #3112 . It wasn't possible to bind 'data' to special events.
2008-07-09 21:38:28 +00:00
Ariel Flesler
112f7b15ae
jquery event: Optimization to global unbinding on window unload. Thanks Mike Helgeson.
2008-07-01 02:50:38 +00:00
Ariel Flesler
cf78e396db
jquery event: closes #3107 . Optimization to global event triggering. Thanks Mike Helgeson.
2008-07-01 02:25:55 +00:00
Ariel Flesler
18d3e75945
jquery event: fixed a typo in a comment.
2008-06-27 14:17:28 +00:00
Ariel Flesler
abb055bb49
jquery event: caching the props array and fixing the loop that goes thru it. It was accessing an invalid index.
2008-05-28 20:43:13 +00:00
Ariel Flesler
3f5ff3097c
jquery: removing unnecessary trailing and leading spaces & tabs.
2008-05-13 01:45:58 +00:00
Ariel Flesler
20a7bff401
jquery event & fx: tidying some comments.
2008-05-13 01:42:35 +00:00
Ariel Flesler
99101e02f9
jquery fx & event: replaced the use of .apply(), where .call() could had been used.
2008-05-12 19:45:02 +00:00
Ariel Flesler
ca73ba5668
jquery event: removing 3 unnecessary lines since the addition of $.event.proxy.
2008-05-08 16:10:47 +00:00
Brandon Aaron
4b970deacd
Making sure originalTarget gets copied over from the original event object
2008-05-07 13:21:16 +00:00
Ariel Flesler
17b1e407d1
mainly made the code shorter:
...
- removed some needless if's
- replace multiple "var x" for one, comma separated declaration.
- added a local fn called now() for the (new Date)s
- fixed the indentation of a block, and a typo in a comment.
- used fn instead of prototype where possible
- jquery fx: exposed the speeds hash as jQuery.fx.speeds.
Also fixed (again) line endings
2008-04-29 23:34:50 +00:00
Ariel Flesler
aaff17be42
jquery event: from #2249 , adding $.event.proxy to link event handlers, and implementing it on $.event.add, $.fn._toggle and $.fn.one.
...
It also fixes a bug in $.fn.one that was unbinding ALL the existing handlers.
2008-04-29 22:06:54 +00:00
Ariel Flesler
08836acc30
jquery event: adding some whitespaces to the last change.
2008-04-29 21:37:41 +00:00
Ariel Flesler
c3cbc5bf98
jquery event: jQuery.toggle can accept more than 2 functions, closes #2378
2008-04-29 21:35:35 +00:00
Brandon Aaron
f3f3238c53
jQuery.event.fix performance boost. An example: click event was previously ~3ms and is now < 1ms. jQuery.event.trigger also got another small boost in performance.
2008-04-28 21:09:27 +00:00
Brandon Aaron
b84b997ea4
Prevent a single event object from being fixed more than once
2008-04-27 23:08:31 +00:00
Brandon Aaron
77bb2c505f
Optimization for jQuery.event.fix ... don't send fake event through jQuery.event.fix
2008-04-27 20:37:58 +00:00
Ariel Flesler
25f9974cee
jquery core: simplified the code using the new jQuery.makeArray from [5314] where possible.
2008-04-24 21:46:22 +00:00
Brandon Aaron
2efd0b4cc5
Fixed regression with 5276 where return false in first handler of multiple handlers was ignored. And 5276 log message says 200% but I meant 20%.
2008-04-23 18:57:17 +00:00
Jörn Zaefferer
32b1cb3a5c
jquery.event: Patch for #2708
2008-04-22 21:59:40 +00:00
Brandon Aaron
6d28ebff85
Some small optimizations to the event module. jQuery.event.trigger over 200% faster in IE and less code. Thanks in large to Ariel Flesler.
2008-04-22 05:23:55 +00:00
Brandon Aaron
5d033dba02
Trigger onclick handlers of links
2008-04-21 20:39:17 +00:00
Scott González
75cb0d8d05
Fixed .unbind('.namespace').
2008-02-05 19:32:00 +00:00
John Resig
703e89ba30
Added support for .unbind(".test") to unbind all namespaced events on an element.
2008-02-03 04:33:11 +00:00
John Resig
77da94552e
Added $().data(), $().removeData(), and .bind("click!"). .data() and .removeData() handle namespaced data, .data() triggers a "set-KEY" event on all modified elements, and .bind("click!") only triggers a click (and no namespaced events).
2008-02-03 04:05:24 +00:00
John Resig
709df93304
Added a fix for bug #2140 . Opera doesn't like concating null or undefined values.
2008-01-14 18:46:44 +00:00
Yehuda Katz
87d6bcec31
Fixes bug with charCode, bad 'var' and missing semicolon
2007-12-28 19:08:36 +00:00
Brandon Aaron
c73eadf599
Fixed memory leak in IE with non-native event types
2007-12-21 04:53:33 +00:00
Brandon Aaron
fde3d616ac
Removed check to prevent event from being fixed twice. Unfortunately, in IE this is sometimes necessary with its global event object. Binding both a mousedown and mousemove event is an example.
2007-12-21 02:11:26 +00:00
Brandon Aaron
bdd6aca209
Fixing #2081
2007-12-20 19:31:02 +00:00
David Serduke
0419455473
Changed the $(document).ready() code to try and solve some problems in Safari, Opera, and IE.
2007-12-20 06:00:01 +00:00
Brandon Aaron
a7dfbb55d9
Short-circuit jQuery.event.fix if it has already fixed the current event object.
2007-12-19 18:35:58 +00:00
David Serduke
3bb82a34de
Second part of the fix for #2071 . An empty string "" was being sent to .bind() and when the events were being cleared it went in to an infinite recursive loop till memory was out. The test was !types in the function and changing it to types == undefined fixed the error.
2007-12-19 01:48:05 +00:00
David Serduke
1d7b7b94ef
Changed CRLF end of lines to just LF. Other than that there were no changes in this commit. Try svn diff -x --ignore-eol-style -r 4224:4225 to see that.
2007-12-19 01:10:20 +00:00
Richard Worth
76c1889e22
Fixed #1887 - trigger fails if extra is not a function
2007-12-18 03:13:39 +00:00
Brandon Aaron
d1b9ad3cdb
Fixed #2069 . The ready helper and shortcuts act the same. You can also still bind, unbind and trigger the ready event on the document element but doing so follows the events API unlike the ready helper method.
2007-12-17 20:22:53 +00:00
Brandon Aaron
45e4a52cdd
Cleaned up mouseenter and mouseleave special events
2007-12-16 22:18:35 +00:00
David Serduke
859aa6c9df
Changed window.frameElement to window == top because of some access denied errors when the iframe wasn't same origin.
2007-12-16 10:33:38 +00:00
David Serduke
97e98591aa
Added code so an iframe in IE won't count on doScroll to determine if the dom is ready. We will probably have to do more investigation on a better (and consistant) method for inside an iframe in IE.
2007-12-16 10:08:53 +00:00
Brandon Aaron
7a6978b324
Renaming variables to be more consistent
2007-12-16 04:09:53 +00:00
David Serduke
feb9051c0e
Fixed #1781 for warnings created on load by FF javascript.options.strict == true.
2007-12-16 01:03:50 +00:00
Brandon Aaron
b264f789b9
new special events api, ready is now a first class event that you can use bind, unbind or the ready helper, two new events: mouseenter and mouseleave, the hover helper method now uses mouseenter and mouseleave, bind and unbind can now take a space sperated list of event types
2007-12-15 05:55:33 +00:00
Brandon Aaron
540f9304a7
Fix for #2032
2007-12-11 03:17:44 +00:00
Brandon Aaron
91f1299f68
Fix for #1486 . Prevent IE from throwing an error when triggering focus on hidden input.
2007-12-08 02:54:09 +00:00
David Serduke
ffbedf0262
Fixed #1039 and #1733 by going through the core API and making them text node and comment node safe.
2007-12-07 01:52:21 +00:00
David Serduke
66fbbec3bb
Fixed [1993] although it actually wasn't a bug in the core but rather a misunderstanding of how the extra function was supposed to work in jQuery.event.trigger(). That said, it seems more useful and robust for the code to work the way the ticket author thought it should work so this change was made.
...
Now, if anything is returned from the extra function it will overwrite the return value of the event handlers. This should only effect custom events unless someone had an extra function that returned a value other than false which would have been ignored before.
2007-12-03 21:41:10 +00:00
David Serduke
3ae5fbc16a
Fixed #1701 by passing through the arguments as suggested.
2007-11-28 22:23:40 +00:00
David Serduke
b26da08821
Fixed #1970 by returning true instead of false when the mouse moves over a sub-element. The side effect is the event will not stop default behavior and will propagate which it didn't used to. I could find no compelling reason to stop those things from happening.
2007-11-27 19:20:36 +00:00
Brandon Aaron
e6a481e533
Fix for #1933
2007-11-19 16:15:51 +00:00
Brandon Aaron
ab96367f12
Fix for #1925 and removed some unnecessary browser sniffing
2007-11-14 21:55:45 +00:00
Brandon Aaron
ee52c89dc9
Fix for #1911
2007-11-14 15:06:48 +00:00
John Resig
a2fc65fd32
From a suggestion by Diego, moved the jQuery.ready() call outside of the try{}catch() block for IE/Safari DOM Ready.
2007-10-15 17:55:54 +00:00
Brandon Aaron
a5f95c88c1
Fix normalization of pageX and pageY event properties in IE ( #1571 ). Thanks wizzud.
2007-10-06 21:00:37 +00:00
Brandon Aaron
92aac3abd6
Fixes memory leaks relating to events in IE with page unload and with jQuery methods remove, html and empty ( #1610 , #1618 , #1697 and #1731 ). Also re-worked variable names to be more consistent with the core.
2007-10-06 17:04:20 +00:00
John Resig
beebbf8ba4
Safari 2 was having problems with the syntax used for the ready handling.
2007-10-01 14:14:09 +00:00
John Resig
1344a7fd50
Fixed the attribution for the DOM Ready fix - the previously used changes weren't significant.
2007-09-27 20:49:30 +00:00
Brandon Aaron
ee2efbe1e3
Fix for #1153
2007-09-27 18:09:23 +00:00
John Resig
6e8a8c5359
Converted jQuery to use the new DOM Ready technique (by checking scroll). A single setTimeout loop is used for both IE and Safari now. Fixex bugs #1320 and #1561 .
2007-09-27 15:23:07 +00:00
John Resig
82eccdfcd0
Make sure that the right event type is always triggered (was causing problems with UI's event triggering).
2007-09-14 23:58:51 +00:00
John Resig
3a4e1233aa
Landing the new expando management code. Completely overhauls how data is associated with elements.
...
Plugins will be most interested in:
- jQuery.data(elem) -> Unique ID for the element
- jQuery.data(elem, name) -> Named data store for the element
- jQuery.data(elem, name, value) -> Saves a value to the named data store
- jQuery.removeData(elem) -> Remove the expando and the complete data store
- jQuery.removeData(elem, name) -> Removes just this one named data store
jQuery's .remove() and .empty() automatically clean up after themselves. Once an element leaves a DOM document their events are no longer intact. Thus, statements like so:
{{{
$("#foo").remove().appendTo("#bar");
}}}
should be written like so:
{{{
$("#foo").appendTo("#bar");
}}}
in order to avoid losing the bound events.
2007-09-08 23:31:23 +00:00
John Resig
b4e23b5af0
Reorganzing the jQuery source (first phase).
2007-09-08 12:42:32 +00:00