jeresig
2663041924
Make sure that jQuery is being exposed outside of core (this will be stripped during the build process). Follow-up to #7011 .
2010-09-09 08:23:10 -04:00
jeresig
acb162a697
Make sure that the removeEvent and buildFragment private functions are exposed (to help with access across modules). The final API for each of these is very much in flux and will likely change before the final release. Fixes #7011 .
2010-09-08 18:13:35 -04:00
jeresig
bca5765502
Make sure that jQuery works even when the individual modules are loaded separately AND jQuery.noConflict(true) is used. Fixes #7011 .
2010-09-08 13:54:33 -04:00
jeresig
a44ec40277
Make sure that jQuery works even when the individual modules are loaded separately AND jQuery.noConflict(true) is used. Fixes #7011 .
2010-09-08 12:00:29 -04:00
John Resig
b920f0aeb4
Broke more of the property-specific CSS logic out of the jQuery.css() function.
2010-09-05 11:01:27 -04:00
John Resig
920099b29c
First pass at unifying the various CSS methods in jQuery (jQuery.style, jQuery.curCSS, and jQuery.css are now all under jQuery.css).
2010-09-05 10:17:18 -04:00
John Resig
2912f8ab95
Broke apart some of the browser-specific logic for CSS handling.
2010-09-05 00:04:37 -04:00
John Resig
426045cc74
Some more minor formatting tweaks.
2010-09-04 23:34:52 -04:00
John Resig
1970154c3b
Tweaking the formatting from the previous commit.
2010-09-04 23:28:17 -04:00
Brandon Aaron
65b24861bc
First look at css hooks. These hooks provide a way to change how jQuery handles getting and setting certain css properties. This means normalizing properties like background-position can easily be done via plugins.
...
They are similar in concept to the special event hooks. Return false from the hook to revert control back to jQuery's normal processes for getting and setting certain css properties.
2010-09-02 21:06:40 -05:00
John Resig
13f27fcd05
Switched to use 'in' for the setInterval/window check as it also skirts around the Safari 2 NodeList crasher. See the discussion in 94f35d0519
for more details.
2010-08-27 18:17:07 -04:00
John Resig
1ead20c2ed
Blackberry 4.6 is capable of finding elements that are no longer in the DOM via getElementById. It only appears to happen when the node has been inside of a cloned Document Fragment. Fixes #6963 .
2010-08-27 15:14:30 -04:00
John Resig
ea8b1584b1
Use the native isArray whenever possible. See perf test by jdalton here: http://jsperf.com/isarray-vs-other Fixes #6825 .
2010-08-27 13:15:48 -04:00
John Resig
7f18d29287
Simplify the logic in $.type, thanks to jdalton for the suggesiton in 5d2be7e299
.
2010-08-27 07:03:30 -07:00
John Resig
5d2be7e299
Added some tweaks to $.type to handle null and undefined. Added a bunch of unit tests as well.
2010-08-27 06:10:52 -07:00
John Resig
5673e4bc3a
Only attempt to use the IE technique for setting opacity if the filter property exists (otherwise fallback to the standards-compatible technique).
2010-08-26 12:51:37 -04:00
John Resig
94f35d0519
Adding in a jQuery.type(obj) method (a simple map to using Object.prototype.toString.call). Fixes #3330 .
2010-08-25 09:57:34 -07:00
John Resig
18dad47489
Tweaked logic for working around Blackberry 4.7 makeArray(RegExp) issue. Fixes #6930 .
2010-08-25 09:27:30 -07:00
John Resig
cb40495b21
Make sure that missing attributes return undefined in Blackberry 4.7. Fixes #6938 .
2010-08-24 07:28:47 -07:00
John Resig
392174431a
.val() on empty options returns the text value rather than the value in Blackberry 4.7. Fixes #6932 .
2010-08-23 14:10:39 -07:00
John Resig
396dd21273
Fixing getting/setting classes and makeArray(RegExp) for Blackberry 4.7. Fixes #6930 , #6931 .
2010-08-23 12:38:55 -07:00
John Resig
c4b4df4691
Make sure that .data() events don't bubble, per the discussion in 2e10af143b
. Fixes #6832 .
2010-07-27 13:45:32 -04:00
Dave Reed
2084e01780
Fix for issues discussed in 9faab0b74f
. Goes towards fixing #6808 .
2010-07-23 11:25:31 -04:00
InfinitiesLoop
266facc08a
Ticket 6808. Updated per code review comments by jeresig
2010-07-23 03:52:02 +08:00
InfinitiesLoop
9faab0b74f
Ticket #6808 . Changes data() so on plain objects, it uses a function to contain the cache ID to avoid it being JSON serialized.
2010-07-23 03:52:01 +08:00
InfinitiesLoop
2e10af143b
Ticket #6804 . Adds a changeData event.
2010-07-20 10:12:40 +08:00
adam j. sontag
a2bd8a53f3
.closest() should return a unique set of elements, not duplicates of the same ancestor. Fixes #6700
2010-06-21 14:18:06 -04:00
jeresig
c90d609c0d
Fixing request data param issue. Thanks to mislav for the patch. Fixes #5123 .
2010-06-14 23:08:28 -04:00
jeresig
c34a62f8ab
Tweak spacing from last commit.
2010-06-14 23:05:01 -04:00
malsup
d1931a8241
Fix for http://dev.jquery.com/ticket/6451
2010-06-15 11:02:26 +08:00
John Resig
1533bf7c77
Expose jQuery.uuid (use with caution) and make sure the expando property is used in the events module.
2010-04-24 14:16:27 -07:00
jeresig
4a64f9a5b8
Removed extra semicolon leftover from recent tweaking.
2010-03-31 14:36:24 -04:00
Brandon Aaron
efea0f23f9
Merge branch 'master' of github.com:jquery/jquery
2010-03-23 22:40:38 -05:00
jeresig
8effe3a7de
Made it so that you no longer need to build jQuery in order to run the test suite (but you'll still need a checkout of QUnit and Sizzle, at least).
2010-03-23 12:12:16 -04:00
Brandon Aaron
656fe92178
Fixed an issue with setting offset of absolutely positioned element that has no position values ("auto"). Fixes #5781 .
2010-03-22 20:11:37 -04:00
Brandon Aaron
08cf82e88e
Fix setting only one property at a time in .offset({})
2010-03-22 20:05:08 -04:00
jeresig
ba8938d444
Switch to using String.prototype.trim from String.trim as it's more-widely available.
2010-03-11 10:49:19 -05:00
jeresig
f68b46d7ab
Make sure that special remove and teardown events get called when .die() is used. Additionally made sure that default actions are triggered when namespaced events are used. Fixes #6202 and #6250 .
2010-03-09 12:22:25 -05:00
jeresig
141ad3c3e2
Landing a faster trim method. Based upon the work by Travis Hardiman and DBJDBJ. More details here: http://forum.jquery.com/topic/faster-jquery-trim Fixes #2279 , #4452 , and #4835 .
2010-03-09 09:14:27 -05:00
jeresig
0a307b332e
No need to use .call() anymore since we switched from .apply() for appendTo, etc. Thanks to Robert in 2c08004f6d
for the heads-up.
2010-03-05 09:59:58 -05:00
jeresig
2c08004f6d
Attempted to fix #6227 , not entirely sure if it's a problem as I'm having a hard time reproducing it. Regardless, the change is harmless and potentially even speeds up appendTo, etc. slightly.
2010-03-05 00:07:57 -05:00
jeresig
9584e908a2
Added in Ben Alman's proposed event.namespace property (the property holds the namespaces specified in a call to trigger). Additionally fixes namespaces with .live(). Fixes #6208 and #6209 .
2010-03-02 17:34:12 -05:00
jeresig
04e31ff058
Make sure that we don't try to remove data from an applet. Re-Fixes #1675 .
2010-03-02 13:56:15 -05:00
jeresig
86ace44fbb
Moving more properties onto jQuery.ajax, also copy them back to the jQuery object for backwards compatibility.
2010-03-02 10:44:48 -05:00
jeresig
a33d01a7b0
Remove the need for the return in sizzle-jquery and just remove the attempt to expose Sizzle completely. jQuery is 100% passing JSLint ('make lint') now.
2010-03-01 21:56:08 -05:00
jeresig
dcf0fa5048
More changes to get jQuery in line with JSLint.
2010-03-01 21:24:49 -05:00
jeresig
8c8f685a91
We don't want to increment the Ajax counter if there isn't a global event.
2010-03-01 19:31:13 -05:00
jeresig
a4043cdcbf
Land some additional tweaks related to running through JSLint.
2010-03-01 18:19:29 -05:00
jeresig
fc08d0ea8d
Fixed some cases where expression, expression was used and shouldn't be.
2010-03-01 16:26:57 -05:00
jeresig
a18f682012
Made some code tweaks related to running jQuery through JSLint (thanks to Lorin Larson for the JSLint run).
2010-03-01 12:44:56 -05:00
brandonaaron
1d352084c4
Use correct window reference in offset to work properly cross-frame. Fixes #6190 .
2010-02-27 19:43:23 -06:00
jeresig
36faab439a
No reason to double-bind the beforeunload event. Fixes #6113 .
2010-02-27 10:03:43 -05:00
jeresig
a49e6b6313
Attach data directly to plain objects, no reason to use the central jQuery.cache. Fixes #6189 .
2010-02-27 09:49:58 -05:00
jeresig
42568db4c4
Merge branch 'master' of github.com:jquery/jquery
2010-02-27 09:02:18 -05:00
jeresig
a45372a4c5
Adding in .bind(name, false), .unbind(name, false) support - an easy way to just stop bubbling and the default action on an element. Fixes #6188 .
2010-02-27 09:02:13 -05:00
brandonaaron
7d5da0ee03
Make sure events exist before trying to access them in jQuery.event.handle and removed unnecessary var statement. Fixes #6163 .
2010-02-27 01:31:33 -06:00
jeresig
ba7195e3f9
Make it so that you can pass in event data to .click(), et. al. Fixes #6187 .
2010-02-26 20:01:19 -05:00
jeresig
9e06903a99
Make sure that undefined is always returned for undefined data properties. Fixes #6166 .
2010-02-26 12:35:04 -05:00
jeresig
7f5179b654
Make sure that unbinding on a plain javascript object works correctly. Fixes #6184 .
2010-02-26 11:32:12 -05:00
jeresig
28b489bfc8
Make sure that the correct type is set for live mouseenter/mouseleave events. Fixes #6169 .
2010-02-26 11:23:49 -05:00
jeresig
26b0e913dd
Make sure that live events bubble unless explicitly told not to, like a normal event. Fixes #6182 .
2010-02-26 09:26:14 -05:00
jeresig
437ddb931d
No need to run trim on every class iteration in addClass, thanks for the heads-up Leeoniya.
2010-02-13 14:30:27 -05:00
jeresig
a6f3757d50
Found a better detect for deleting an expando, added back in removeAttribute as it does work in IE.
2010-02-13 06:57:58 -05:00
jeresig
9195107dbb
Clean up expando removal code - only try to delete the expando from an element if it's possible.
2010-02-13 06:32:20 -05:00
jeresig
da966573c3
Make sure that elements that have been removed also have their special events cleaned up. Fixes #6084 .
2010-02-13 06:10:43 -05:00
jeresig
6a82f2ae63
Make sure that mousing over XUL elements results in no trigger of a mouseleave. Fixes #6013 .
2010-02-13 05:45:48 -05:00
jeresig
dd5c26304a
Make sure that live focus and blur events also bind to the regular events, to handle triggered events. Fixes #6055 .
2010-02-13 05:37:17 -05:00
jeresig
467063a2e2
When binding a change directly to a file input just passthrough to the normal bind. A temporary fix for #5997 , needs more investigation.
2010-02-13 04:40:26 -05:00
jeresig
c1ac9fdf45
Don't inject style elements using innerHTML as they will go away in IE. Fixes #5977 .
2010-02-13 03:30:45 -05:00
jeresig
99e7560808
Make sure that we don't try to use a detached node (that was in a fragment) as a fragment in IE. Fixes #5829 .
2010-02-13 03:14:00 -05:00
jeresig
726fda08be
Make sure the fragment isn't used if it's not the same set we're working with. Fixes #6068 .
2010-02-13 02:49:04 -05:00
jeresig
a7dc66b832
Rename internal .getText to maintain parity between it and the primary .text(). Fixes #6094 .
2010-02-13 02:26:50 -05:00
jeresig
abcc1a76ee
If .attr() is run on no elements undefined should be returned (as should be the case when no attribute is found). Fixes #6012 .
2010-02-13 02:23:38 -05:00
jeresig
83a044f1b5
Make sure that no extra whitespace is leftover after an addClass. Fixes #6050 .
2010-02-13 02:18:38 -05:00
jeresig
94d925cd46
Make sure leading whitespace is trimmed for parseJSON. Fixes #6031 .
2010-02-13 02:14:23 -05:00
jeresig
8b86004f9c
Make sure that fragments containing options aren't cached.
2010-02-13 01:50:19 -05:00
jeresig
7a467ed936
Remove the need for the internal setArray method, it was only really used by pushStack anyway. Fixes #6003 .
2010-02-13 01:45:09 -05:00
jeresig
8404ad6070
Make sure that there are some live events before continuing on.
2010-02-12 19:38:57 -05:00
jeresig
5d36fe3210
Make sure that live mouseenter/mouseleave work properly. Fixes #6077 .
2010-02-11 16:50:26 -05:00
John Resig
021b809ace
Make sure that the teardown is called after all the handlers of a type are removed. Fixes #6065 .
2010-02-11 01:42:51 -05:00
John Resig
639f4931b0
No reason to expose the temporary _load method.
2010-02-11 01:23:13 -05:00
jeresig
35c379075c
Simplify the special change/submit event removal logic, per Scott's suggestion in 5267824aa3
.
2010-02-10 15:56:53 -05:00
jeresig
5267824aa3
Updated formatting for the change/submit special event logic. Also switched the function declarations to statements. Thanks to Garrett for the recommendation.
2010-02-08 23:28:15 -05:00
jeresig
fec02aa5cb
Merge branch 'master' of github.com:jquery/jquery
2010-02-08 11:31:13 -05:00
jeresig
75bb2d6e51
Fix in logic for handling exclusive namespace testing. Fixes #6048 .
2010-02-08 11:31:01 -05:00
Ben Alman
3c5b1ca03b
Ok, this should actually fix #6041 :)
2010-02-06 11:46:44 +08:00
tomviner
8a66a30fec
spelling mistake (insead)
2010-02-06 10:50:57 +08:00
jeresig
d743899971
Make sure that &#...; entities are encoded properly. Fixes #6042 .
2010-02-05 19:58:08 -05:00
jeresig
54bd004e53
Make sure that we don't try to double-encode params using the traditional style. Fixes #6041 .
2010-02-05 19:43:31 -05:00
jeresig
43b3ed086d
Update special events to work with the internal event system changes. Also fixes #5967 .
2010-02-05 11:02:56 -05:00
jeresig
be2407e233
Rewrote the live event handling to use the new event logic. Also added in support for live namespaced events. Fixes #5945 .
2010-02-04 21:36:32 -05:00
jeresig
e7912805d6
A large refactor of the event handling logic. Data and namespace information is maintained in a separate object now, no longer on the event handler. Proxy functions are no longer needed, as a result. Additionally execution order of the handlers is maintained, fixing #4261 , and the execution of handlers is maintained even while they're being removed. Live events will be refactored separately.
2010-02-04 00:20:52 -05:00
jeresig
8a4b2102ff
Removed extraneous nodeName check from f95147f465
commit.
2010-02-01 21:56:11 -05:00
Noah Sloan
8660ea1ab6
Only detach the incoming elements to replaceWith if they're DOM nodes. Fixes #5986 .
2010-02-01 21:48:05 -05:00
jeresig
e76ba32ceb
Make sure the resulting className from removeClass is nicely trimmed. Fixes #5988 .
2010-02-01 21:33:58 -05:00
jeresig
f95147f465
Fix for problem in IE 8 where deserialized (then reserialized) form markup was getting malformed. Thanks IE. Fixes #5998 .
2010-02-01 21:26:47 -05:00
jeresig
f9417b9da9
Same problem happens with plain embed elements as well. Follow-up fix to #5904 .
2010-02-01 18:52:12 -05:00
jeresig
1b28bba4d2
Make sure that injection of object elements continues to work in IE 6. Really hard to unit test this in a meanigful manner (the result is a visually broken plugin). Will need to be diligent about watching for this in the future. Fixes #5094 .
2010-02-01 18:22:48 -05:00
jeresig
31432e048f
Add .delegate() and .undelegate(). An alternative to using .live() which goes from a single root and filters by the specified selectors. Should be used like do: .delegate(td, hover, someFn);. Fixes #6005 .
2010-02-01 18:06:03 -05:00
jeresig
cb65daa399
The context for 'body' should still be document, in this case.
2010-01-29 15:04:26 -05:00
jeresig
4f2e209b85
Make sure fragment caching is only happening on nodes in the main document. Fixes #5978 .
2010-01-29 00:22:20 -05:00
jeresig
388a00fe91
Skip around inserting a fragment when possible (insert the node directly).
2010-01-28 17:18:27 -05:00
jeresig
b8076a914b
Landing some minor perf optimization to jQuery().
2010-01-28 17:17:51 -05:00
jeresig
0db207da23
Optimize for the case where a fragment-bound element is being injected into one other element.
2010-01-28 16:30:37 -05:00
jeresig
98c7248518
Further optimize the empty/remove/cleanData logic.
2010-01-28 15:25:52 -05:00
jeresig
0252b78201
Provide a way to simulate default browser actions. Fixes #5973 .
2010-01-28 14:34:09 -05:00
jeresig
e9092e9954
Make sure namespaces is always an array, when passed to the remove special. Follow-up to eed69eccc5
.
2010-01-28 14:16:52 -05:00
jeresig
eed69eccc5
Make sure that jQuery.data( elem ) always returns a data object, fixes #5971 . Improve the performance of .bind() and .unbind(), fixes #5972 .
2010-01-28 14:12:44 -05:00
jeresig
942f8f7f75
No reason to limit the initial change data store to just radio elements. Fixes #5851 .
2010-01-27 10:06:50 -05:00
jeresig
0b3165fd23
Make sure that the correct context is being passed in for replaceWith(fn). Fixes #5798 .
2010-01-25 19:22:28 -05:00
jeresig
9f17e70ae9
Make work wrapInner(fn) work consistently. Fixes #5799 .
2010-01-25 19:16:23 -05:00
Robert Katic
55a64cf095
Filtering elements only. Fixed #5920
2010-01-26 07:51:44 +08:00
Mike Alup
ca90ffb332
Provided detailed message for JSON parse errors. Fixes #4435 .
2010-01-25 18:48:52 -05:00
Michael Monteleone
bed759c95c
Make sure that checked state is cloned properly. Based upon the patch by Michael, required better test cases and in doing so found more edge cases. Introduced a new check into jQuery.support as a result. Fixes #5929 .
2010-01-25 18:43:33 -05:00
jeresig
390186b902
Make sure that special.add actually copies over event namespaces and data. Fixes #5779 and #5834 .
2010-01-25 17:01:07 -05:00
jeresig
0474917c9d
Make sure multiple bound events have their namespaces and data maintained. Fixes #3549 .
2010-01-25 16:45:39 -05:00
jeresig
d24443fb55
Make sure that it's possible to preventDefault natively-triggered (submit, focus, blur, click) events. Fixes #5695 .
2010-01-25 13:45:07 -05:00
jeresig
323270f6dc
Update the license URL in the header.
2010-01-25 09:31:40 -05:00
John Resig
1a14a38ff7
Make sure original context is maintained and not the deep extended one. Fixes #5924 .
2010-01-25 01:08:24 -05:00
John Resig
f91b944cab
Objects with length properties weren't getting serialized properly by jQuery.param(). Fixes #5862 .
2010-01-25 00:46:03 -05:00
John Resig
76236a1506
Use alternative technique for triggering an abort, preventing an exception from being thrown in Firefox. Fixes #5923 .
2010-01-24 22:13:52 -05:00
John Resig
c639405c4d
Don't set the context in .load() as it stops the global ajax events from firing. Fixes #5922 .
2010-01-24 21:58:32 -05:00
John Resig
6a3d0996ed
Make sure that XHTML-style HTML is purified in .html(). Fixes #5845 .
2010-01-24 21:37:05 -05:00
jeresig
f06e0e5575
Expose cleanData, make sure that all bound event handlers are properly cleaned up after html/empty/remove. Fixes #5856 and #5906 .
2010-01-23 21:20:19 -05:00
jeresig
4f9aa62a85
Added in .height(fn) and .width(fn) support. Fixes #5915 .
2010-01-23 20:49:59 -05:00
jeresig
781fe8b80d
Make empty strings (and other non-string values) simply return null from parseJSON. Also added some parseJSON tests. Fixes #5859 .
2010-01-23 17:08:26 -05:00
jeresig
0912109ffc
Expose the JSON parsing logic. Fixes #5914 .
2010-01-23 16:51:51 -05:00
jeresig
a6ef036bb6
Centralize the logic for throwing exceptions. Fixes #5913 .
2010-01-23 16:48:47 -05:00
jeresig
3e286440d5
Make sure that .die() with no args works. Fixes #5789 .
2010-01-23 16:37:12 -05:00
jeresig
8ea634fd07
Merge branch 'master' of github.com:jquery/jquery
2010-01-23 12:52:39 -05:00
Matt Curry
f6ec9d54d1
Select (with a selected) fired change on first focus in IE. Fixes #5869 .
2010-01-23 12:52:32 -05:00
Karl Swedberg
2c28f229e5
fixed offset(coordinates) returns null when no matching elements in jQuery object (fixes ticket #5888 )
2010-01-24 01:26:35 +08:00
Karl Swedberg
21441b1cbc
Made .show() and .hide() use .animate() only if speed argument is truthy or 0.
2010-01-24 01:25:22 +08:00
Ben Alman
28ce15979f
fixed jQuery.dir regression introduced with 1.4 *untils patch that errored when traversing XHTML text nodes with an until test
2010-01-24 01:20:53 +08:00
Ben Alman
09ef5b7598
Simplification of uaMatch, based upon the patch by Ben Alman.
2010-01-23 12:13:46 -05:00
Irae Brasil
01f72026ec
Added support for multiple live event handlers, live hover, and live focus/blur (mapped to focusin/focusout). Fixes #5804 , #5801 , #5852 .
2010-01-23 11:56:24 -05:00
Irae Brasil
b9ca157998
Make sure that live handlers don't stop inline scripts from executing. Fixes #5835 .
2010-01-23 11:14:29 -05:00
Irae Brasil
150e44cdda
Make sure non-left-click events don't bubble. Fixes #3861 .
2010-01-23 11:12:26 -05:00
jeresig
435772e29b
Adding in the change recommended by Alexander Farkas to fix some bugs in the change delegation logic. Fixes #5851 .
2010-01-18 17:52:36 -05:00
jeresig
257a4693f4
Fix missing var declaration for the length iterator.
2010-01-18 17:19:44 -05:00
John Resig
155ecf42a0
Make sure regular settings object is set as context for all Ajax requests, if none is specified. Fixes #5838 .
2010-01-16 10:11:01 -05:00
John Resig
6618ff0b0a
Removed some dead code from buildFragment. Thanks to Sean Catchpole for the suggestion.
2010-01-15 17:46:33 -05:00
John Resig
199a721103
Expose the proxy object on the object, for the benefit of plugin authors (Thanks to Justin Meyer for the suggestion).
2010-01-15 15:41:09 -05:00
John Resig
eb496f757a
The inArray declaration was accidentally duplicated.
2010-01-15 10:49:18 -05:00
John Resig
4397f0fd41
Removed extraneous thisObject references. Thanks to Matt Dunlap for the heads-up.
2010-01-14 01:42:08 -05:00
jeresig
1960f28c0b
Make sure no exception is thrown if no event handler is found (which is the case for applets, objects, and embeds).
2010-01-13 11:24:54 -05:00
jeresig
05aaa33957
Make sure that null params aren't traversed. Fixes #5794 .
2010-01-13 09:29:01 -05:00
jeresig
23492fdf9f
Send data if a DELETE Ajax request is done. Fixes #5752 .
2010-01-13 00:42:22 -05:00
jeresig
5d49335eac
Make sure that disconnected nodes aren't sorted/uniqued. Fixes #5791 .
2010-01-13 00:12:18 -05:00
jeresig
8e53f7b5d6
Fixed typo in logic, also disabled function setters in this case to allow the functions to passthrough and bind.
2010-01-12 21:54:06 -05:00
jeresig
b5f077ae6a
Make sure that the xhr object still exists after the abort is called.
2010-01-12 21:44:37 -05:00
jeresig
1d8b3a9af2
Make sure that the focusin and focusout easy-bind methods are exposed.
2010-01-12 17:03:34 -05:00
jeresig
61983cbf17
Make sure oldAbort is only called if the xhr object still exists.
2010-01-12 16:50:59 -05:00
jeresig
dd45c324ec
Simplified some of the logic for handling the ajax aborts, making sure that ajaxStop isn't called twice.
2010-01-12 10:59:50 -05:00
jeresig
d60b197810
ajaxStop was getting called too many times, separated some of the logic into the abort method itself.
2010-01-12 10:47:00 -05:00
jeresig
7afe6dcc08
Make sure that Opera fires events after an aborted Ajax attempt. Fixes #5787 .
2010-01-12 10:31:51 -05:00
Paul Irish
7be5ec1248
browser version detection revised for opera >= 10, which was reporting itself as 9.8 due to their new policy
2010-01-12 11:42:31 +08:00
Neeraj Singh
8d7965a607
fixed typo in comments
2010-01-12 11:42:22 +08:00
jeresig
44e6beb103
Make sure we do the malformed JSON check for all both JSON.parse and new Function (this helps to create uniformity between browser implementations of JSON.parse - like where Chrome allows some malformed strings. Thanks to DBJDBJ for the heads-up.
2010-01-11 16:43:21 -05:00
jeresig
23d600c66d
Make sure that wrapInner works on elements that have no contents. Fixes #3552 .
2010-01-11 16:31:31 -05:00
jeresig
3e9ef6f5c0
Final pass at fixing #5785 . Need to make sure that inner-nodes are detached before the remove() occurs (and it should still occur, the nodes are being obliterated.
2010-01-11 16:25:01 -05:00
jeresig
36a98b95c2
Make sure we use detach instead of remove in replaceWith. Fixes #5785 .
2010-01-11 15:57:45 -05:00
jeresig
366039a6f0
Revert "Adding in backwards-compatiblity support for jQuery().bind/unbind/trigger - and immediately deprecating it. Please explicitly use jQuery(document) in your code."
...
This reverts commit e9d5947b4a
.
2010-01-11 13:48:40 -05:00
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
d6d5ed4c68
Merge branch 'setterargs'
2010-01-07 14:26:06 -05:00
jeresig
0e5370b89c
Re-ordering the args to setOffset() in case people were relying upon the old order (doubtful).
2010-01-07 14:08:32 -05:00
jeresig
4fa00369f0
Added in support for .offset(Function).
2010-01-07 14:07:21 -05:00
jeresig
8fa9e9d6d0
Make sure that .html(Function) gets the correct previous value.
2010-01-07 13:33:30 -05:00
jeresig
a9665bbe9b
Make sure the exception has some level of parity with the error from json2.js.
2010-01-07 12:25:50 -05:00
jeresig
308d6cdad0
Make sure that a parsererror is thrown whenever malformed JSON comes back from a server (so that the Ajax error handler is called). Makes it uniform across browsers that do and don't have JSON.parse support.
2010-01-07 12:21:58 -05:00
jeresig
c14fa516ae
Back out the try/catch logic from around JSON.parse. We should always try to use it, otherwise security will suffer.
2010-01-07 11:54:26 -05:00
jeresig
21e15219be
Removed .removeAttr(Function), it didn't really make sense.
2010-01-07 11:14:56 -05:00
jeresig
d36b29fa8e
Make sure the state is passed in to the toggleClass attribute function.
2010-01-07 11:04:21 -05:00
jeresig
c68fbc2071
There's enough logic going on in jQuery.ajaxSettings.xhr to warrant splitting the function based upon the functionality.
2010-01-07 10:00:55 -05:00
jeresig
4681216c4b
Fixed some bugs relating to the setter arg change in val and html. Also optimized the code in val a bit.
2010-01-07 09:53:16 -05:00
jeresig
2526e29353
Fixing some bugs in the re-tooling of toggleClass, adding in some performance optimizations.
2010-01-06 15:23:30 -05:00
jeresig
600d314538
A first pass at making sure that all the setter function arguments receive the index of the element and a relevant value to work with. Fixes #5763 .
2010-01-06 15:08:07 -05:00
jeresig
e424e01c47
Merge branch 'master' of github.com:jquery/jquery
2010-01-06 11:32:39 -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
Filipe Fortes
0d1a2c1b11
Make sure to do a deep copy on arrays. #5750
2010-01-07 00:11:22 +08:00
jeresig
6861b5d4eb
Added in support for content-type sniffing for scripts. Fixes #5718 .
2010-01-06 10:19:38 -05:00
Rick Waldron
787f271052
Detect JSON Ajax requests by the response content-type (like is done with XML). Fixes #5709 .
2010-01-05 19:48:16 -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
0645b71ee6
Merge branch 'useragent'
2010-01-05 19:10:42 -05:00
jeresig
ff3645ee05
Try to use the native JSON parser in all cases and fallback to the old technique otherwise. This allows us to also handle cases where the JSON parser is unable to parse JSON-like strings correctly (e.g. {foo:bar}) which is something that worked before but would stop working with the switch to the new parser.
2010-01-05 17:33:41 -05:00
jeresig
ffb1867a43
Rewrite of jQuery.browser to become engine-centric, rather than browser-centric. Also attempt to determine the engine version in a smarter fashion, less prone to error. Finally, enhanced the test suite with 255 useragent strings from http://user-agent-string.info/download for testing. jQuery.browser.safari is now deprecated, use jQuery.browser.webkit instead.
2010-01-05 17:01:20 -05:00
jeresig
3f648c4e3a
Make sure that the ActiveX exception is caught if it's unable to be loaded. Fixes #2849 .
2010-01-05 11:35:11 -05:00
jeresig
b2289f3ec1
Try to use XMLHttpRequest in more cases in IE 7. Thanks to Matt Kruse and Sam Collett for the suggestions. Fixes #3623 , #2849 , #5338 , and #5529 .
2010-01-05 10:57:30 -05:00
John Resig
25ee9cee26
Update the copyright from 2009 to 2010.
2010-01-03 20:04:24 -05:00
jeresig
1d2b1a57da
Added in jQuery.proxy(obj, name), like the method described in Secrets of the JavaScript Ninja and in Dojo's Hitch, and added in some unit tests.
2009-12-31 15:17:52 -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
fe6c86d530
Experiment switching to using onreadystatechange rather than a setInterval for Ajax requests. Fixes #5735 .
2009-12-30 23:53:06 -05:00
jeresig
a00e63ea5a
Make a feature detect for the attribute selected code. Fixes #5702 .
2009-12-22 15:46:54 -05:00
jeresig
7b0b348419
The option isn't, necessarily, hidden when this occurs.
2009-12-22 15:06:27 -05:00
jeresig
4729f4d443
Make sure that selected works in Safari on options in optgroups. Fixes #5701 .
2009-12-22 15:02:52 -05:00
jeresig
baff0b0c85
Merge branch 'master' of github.com:jquery/jquery
2009-12-22 13:53:04 -05:00
jeresig
9360cccc9e
Forgot to make sure that oldData actually had data in it before the copy attempt.
2009-12-22 13:28:46 -05:00
Ben Alman
3951894504
Moved jQuery.param "traditional" flag into jQuery.ajaxSettings, can now be overridden via 2nd argument to jQuery.param
2009-12-23 01:49:53 +08:00
jeresig
7d0c18034e
Explicitly re-bind the events on clone. Copying over the data isn't enough. Fixes #5681 .
2009-12-22 12:04:17 -05:00
jeresig
e87b090cb7
The logic for specified option values was already handled by .val(), removed the unnecessary code.
2009-12-22 02:03:41 -05:00
jeresig
1e64d58183
Make sure that the correct value is being pulled from checkboxes in Webkit. Fixes #5699 .
2009-12-22 02:00:46 -05:00
jeresig
1b67aaee74
Make sure that the correct value is retreived for options that have no value specified, in IE 6. Continues to fix #5697 .
2009-12-22 01:28:37 -05:00
jeresig
f298cce100
Made sure that the .val() logic for setting radios and checkboxes was correct. Fixes #5698 .
2009-12-22 01:18:49 -05:00
jeresig
261b7efb5f
Fixed the issue where getting an empty value was impossible. Fixes #5697 .
2009-12-22 00:24: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
0d5bd17461
Moved logic for handling .animate({}), doesn't queue anymore. Fixes #5459 .
2009-12-21 11:11:03 -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
3fd62eae9d
Switched from using YUI Compressor to Google Compiler. Minified and Gzipped filesize reduced to 22,839 bytes from 26,169 bytes (13% decrease in filesize). Sizzle copyright was merged into the main header (since it's removed automatically). Still passes all unit tests.
2009-12-18 21:23:26 -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
298bfb79e6
The constructor check for isPlainObject was redundant, everything still passes without it.
2009-12-18 19:43:04 -05:00
jeresig
67b3be24e1
Added additional checks for DOM nodes and window to isPlainObject, IE 8 was still letting those pass through. Fixes #5669 .
2009-12-18 19:36:35 -05:00
jeresig
d40083c866
Disabled the passthrough .attr(method_name) functionality. You can now use it if you do: .attr({method_name: value}, true) OR as an easy initialization method: jQuery('<div/>', {html: '...', id: 'test'}).
2009-12-18 12:41:53 -05:00
Robert Katic
148fb7ba8e
Made isPlainObject() supporting null, undefined, and window values on IE too. Also added some related tests. Fixes #5669 .
2009-12-19 01:19:34 +08:00
jeresig
27d65b59f9
Backing out the change from 841f9ff7a1
, it was ineffectual in Internet Explorer. Keeping the broken test case, for now, so that we can check into the issue some more.
2009-12-18 11:30:04 -05:00
jeresig
f036630692
Brought the attributes module more inline with the jQuery style guidelines.
2009-12-18 11:27:56 -05:00
jeresig
99d83fbd6d
Bringing the effects module closer to being inline with the style guideline.
2009-12-18 11:16:26 -05:00
jeresig
b70872f70d
Renamed the 'fx' module to 'effects'. Should've been done a long time ago.
2009-12-18 11:01:19 -05:00
jeresig
9368b188c0
Removed jQuery.fn.contains - didn't match the :contains() selector and confused things. Thanks ajpiano for the tip.
2009-12-18 10:54:34 -05:00
Dave Methvin
fe7e2fee16
Ignore case of script tags to make sure they're removed. Fixes #5668 . Thanks to Motty/Fudgey for the report and Jitter for the patch!
2009-12-18 04:06:54 +08:00
Dave Methvin
b31b9bd756
Add new html5 input types to list of serializable types. Older browers handle these as type="text" so they should be consistently serialized on both old and new browsers. Fixes #5667 .
2009-12-18 04:05:45 +08:00
jeresig
6bc222e7a1
Removed 'abbr' from self-closing tags list. Fixes #5167 .
2009-12-17 15:04:07 -05:00
Dave Methvin
d85d366fbf
Default callbackContext to the $.extended ajax options for 1.3.2 compatibility, per #5654 .
2009-12-18 04:01:39 +08:00
Ben Alman
04b92e7831
Reorganized param code slightly to once again define buildParams as a named function expression, as moving it outside the param closure would necessitate moving and rewriting the add function as well.
2009-12-18 04:01:05 +08:00
Ben Alman
927e1966de
Further modified jQuery 1.4 .param() method to serialize arrays containing non-scalar values. PHP and jQuery BBQ can both deserialize these structures, while rack (as of 1.0.0) cannot.
2009-12-18 04:01:05 +08:00
jeresig
ed5731dcc4
Revert the changes from 65ebf57c1e
, they were ineffectual against IE's insanity: http://ejohn.org/files/bugs/fragment/ Used a different tactic instead (just don't return a fragment from .parent()). Fixes #5638 .
2009-12-17 14:17:05 -05:00
jeresig
892fb55547
Make sure that the node exists before attempting to clone.
2009-12-17 13:15:12 -05:00
jeresig
100ed68642
Stick with just getter/setters in attrFn.
2009-12-17 12:23:04 -05:00
jeresig
9a0174b057
Moved readyList check.
2009-12-16 23:09:55 -05:00
jeresig
f078e930ed
Reverted accidental commit in 5197ac9fc8
.
2009-12-16 16:54:21 -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
Batiste Bieler
649024909d
Enforce that hasClass and removeClass work even with tabs and endlines in class attributes. Fixes #5505 .
2009-12-14 16:24:28 -05:00
jeresig
b4b30cc683
Disable getting values using the .attr() function shortcut until the full implications of which can be explored.
2009-12-14 01:15:02 -05:00
John Resig
638c093b85
Fixed typo from commit 542099a278
.
2009-12-11 12:47:41 -08:00
John Resig
65ebf57c1e
Make sure that dynamically-created elements don't have a parent. Fixes #5638 .
2009-12-10 17:01:04 -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
ecdcda870c
Missed the case of bind in the new attr multi-setter.
2009-12-10 14:03:24 -08:00
John Resig
474d814076
Moved some methods around inbetween core.js and traversing.js. Core methods shouldn't rely upon other modules (e.g. the selector engine) wherever possible.
2009-12-10 09:25:25 -08:00
John Resig
ede2f2c4f7
Made some minor formatting changes to the access function.
2009-12-10 09:07:19 -08:00
John Resig
80913618b0
Made the licensing verbiage a little more explicit. Thanks to Dan Montgomery for the suggestion.
2009-12-09 23:56:47 -08:00
John Resig
88572ee692
Make sure that the correct args are passed in to the filter callback (and by extension, the not callback). Fixes #5594 .
2009-12-09 22:03:14 -08:00
John Resig
a5f8a14411
Make sure that calling .width(num) or .height(num) on an empty set returns the empty set. Fixes #5600 .
2009-12-09 21:58:29 -08:00
John Resig
715d1c5a30
Rewrote .merge() (faster and less obtuse now). Fixed #5610 .
2009-12-09 21:43:20 -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
Yehuda Katz
1a4d1904ae
Fix up whitespace and a couple of glitches.
2009-12-09 21:17:10 -08:00
John Resig
b3cee01820
Merge branch 'master' of git@github.com:jquery/jquery
2009-12-09 20:59:12 -08:00
John Resig
cf72fba64f
Make sure that the defaultView exists before attempting to get at the computedStyle (makes it easier to hide items that don't have a view). Fixes #5619 .
2009-12-09 20:58:49 -08:00
Yehuda Katz
da51cd0e43
Add function values to addClass, removeClass, toggleClass, text, and removeAttr
2009-12-09 20:57:53 -08:00
John Resig
4e9fed3b16
Made sure that css('width') and height returned string values, not numerical values. Fixes #5627 .
2009-12-09 20:51:58 -08:00
John Resig
6bec6199c2
Work around a weird computed number issue in WebKit. Fixes #5145 .
2009-12-09 20:37:14 -08:00
John Resig
04524287d3
Switched jQuery() to represent jQuery([]) instead of jQuery(document).
2009-12-09 20:36:07 -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
9d8bd161b6
Clarified the use of jQuery.browser and enforced jQuery.browser.firefox matching Firefox, after the discussion in 17791c9a3e
.
2009-12-09 15:07:16 -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
5e2163085c
Make sure that document ready events, inside a document ready, are added to the queue rather than executing immediately. Fixes #5261 .
2009-12-09 13:45:06 -08:00
John Resig
4b70f006f5
Made .clone(true) also copy over element data. Fixes #4191 .
2009-12-09 13:28:58 -08:00
John Resig
f6a0bf6816
Added support for .data(Object), overwriting the existing data object. Fixes #4284 .
2009-12-09 13:16:18 -08:00
Yehuda Katz
4e27f17007
Landing in jQuery.contains, jQuery.fn.contains, and jQuery.fn.has support. Fixes #4101 .
2009-12-09 12:43:13 -08:00
John Resig
9e60fec46b
Make sure that an actual timeout is triggered (and not accidentally triggered from a setInterval). Fixes #5609 .
2009-12-09 08:09:41 -08:00
John Resig
17791c9a3e
Added in jQuery.browser.firefox, deprecated jQuery.browser.mozilla.
2009-12-08 22:52:32 -08:00
David Petersen
841f9ff7a1
Handle changing form attributes correctly when there is a child element with the same name. Fixes #4299
2009-12-09 14:43:55 +08:00
Dave Methvin
d3dc2d1234
Get browser version rather than rendering engine version.
...
Don't recognize Chrome as Safari.
See results of different userAgent strings here:
http://spreadsheets.google.com/ccc?key=0Aj5JJFjq9rZDdHdxXzRLVnY0SzFpRTBOUDc4VmhzRVE
2009-12-09 14:43:18 +08:00
John Resig
f5b649fafb
Make sure that events are cloned for wrap, fixes #2977 .
2009-12-08 11:21:24 -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
15f9d91c78
Fixed other nodeNode mistake, sigh.
2009-12-07 15:08:06 -08:00
John Resig
ed93204e10
This is why you don't do commits when you're tired. Fixing bugs from 5980292856
.
2009-12-07 07:48:15 -08:00
John Resig
afaae84a7a
support.js needs to come before event.js (also placed in a temporary setTimeout to delay the introduction of the ready in support - will remove when ready is moved to core.js, likely later today).
2009-12-07 07:45:20 -08:00
John Resig
97323d192f
Oops, missed a closing } from 7d36ccfa8e
.
2009-12-07 07:38:16 -08:00
James Padolsey
93fdbeb963
Added support for per-property easing
2009-12-07 16:11:46 +08:00
John Resig
62a34450c0
Added an extra function check to prevent crashes in Safari 2. Fixes #3039 .
2009-12-06 20:20:49 -08:00
John Resig
5980292856
Make sure that expando properties aren't set on embed, applet, or object elements. An uncatchable exception is thrown and we must avoid it. Fixes #1675 and #2349 .
2009-12-06 20:00:31 -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
19ad49e607
Use the isXML function from Sizzle.
2009-12-06 17:52:31 -08:00
John Resig
3f7fc25494
Use the getText utility function provided by Sizzle.
2009-12-06 17:47:41 -08:00
John Resig
2092789155
Added in support for injecting area elements into map elements. Fixes #4484 .
2009-12-06 17:26:39 -08:00
John Resig
fbc73d45b4
Added in support for $.ajax jsonpCallback (allowing you to specify the name of the callback method - and allowing you to avoid skipping the cache). Fixes #4206 .
2009-12-06 17:17:14 -08:00
John Resig
aea5b09195
Adding in cross-browser onbeforeunload support. Fixes #4106 .
2009-12-06 16:55:08 -08:00
John Resig
1fe9ff5482
Merge branch 'master' of git@github.com:jquery/jquery
2009-12-06 15:51:15 -08:00
John Resig
ebad701751
Split the queue code out from data.js into a dedicated queue.js file (also split tests accordingly).
2009-12-06 17:19:33 -05:00
John Resig
87ba780c69
Renamed isObjectLiteral to isPlainObject (makes more sense, per the suggestion of Michael Geary).
2009-12-06 17:11:51 -05:00
Dave Methvin
abbd2f4c3c
Fix regexp for $.trim so it doesn't whack embedded spaces.
2009-12-06 10:31:57 +08:00
Dave Methvin
628e1564c4
Fix for #4011 , crash when two text nodes are appended in IE.
2009-12-06 10:31:57 +08:00
jeresig
3c89e38fc2
Make sure that animated show resets the display correctly. Fixes #5130 .
2009-12-05 21:06:14 -05:00
lrbabe
2d27e053a0
Fix inverted 'orig' and 'fix' event in mouseenter/mouseleave special events.
2009-12-06 09:13:57 +08:00