Dave Methvin
c1316a4cb1
Shorten up the code and do event cleanup on test cases.
2011-04-05 21:59:09 -04:00
Dave Methvin
b5c7c507c1
Merge branch 'ticket_7883' of https://github.com/rwldrn/jquery into rwldrn-ticket_7883
2011-04-05 21:42:58 -04:00
rwldrn
4b0c26f0af
Ticket #8777 undelegate by namespace
2011-04-05 18:55:07 -04:00
rwldrn
23a411b6bc
Ticket #8753 Allow special properties to explicitly defined on jQuery.Event objects
2011-04-05 15:55:40 -04:00
Ben Alman
de0c25bef4
Updated DOM ready unit tests.
2011-03-31 13:36:16 -04:00
Ben Alman
368bfc0fe0
DOM Ready unit tests (but not the supporting fixed code).
2011-03-31 11:37:48 -04:00
Dave Methvin
459bd7f89d
Followup commit for #7340 test case; make sure second test fires properly on IE by focusing to another element rather than blurring off the first.
2011-03-31 09:10:30 -04:00
jeresig
7705c35b14
Merge branch 'fix-8456-lost-mouseenter' of https://github.com/dmethvin/jquery into dmethvin-fix-8456-lost-mouseenter
2011-03-21 10:53:57 -04:00
Dave Methvin
2ac4067a63
Fixes #8456 . Make sure parent is not null before crawling into its lap, so mouseenter is triggered on a mouseover event.
2011-03-09 22:38:26 -05:00
Dave Methvin
55ec6a71d2
Fixes #7340 . Use a single capturing handler to simulate bubbling focusin/focusout event on non-IE browsers. Allow native DOM methods to fire events other than the currently active one back into jQuery.
2011-03-04 21:16:40 -05:00
Anton M
6b08d88d04
Fix some whitespace issues.
2011-02-15 22:09:09 +01:00
Dave Methvin
12c0e1a692
Fixes #7922 . Copy the donor event when simulating a bubbling submit in IE so that we don't accidentally stop propagation on it. Remove a bunch of return statements that could also cancel the event. DRY out the liveFired change from #6359 by moving it to the trigger() function.
2011-02-15 22:08:39 +01:00
Anton M
8e40a84c24
Fix some unscoped tests which failed after recent changes to QUnit.
2011-02-15 21:03:34 +01:00
Anton M
78fc79fad4
Make sure .clone(true) correctly clones namespaced events. Fixes #4537 .
2011-02-10 22:20:48 +01:00
Anton M
4490f4285c
Fix some whitespace issues. Improve and correct an events test.
2011-02-10 22:20:47 +01:00
Colin Snover
7acb141ed7
Update $.data to use a function instead of an object when attaching to JS objects in order to hide attached metadata from JSON.stringify. Remove event.js code that was doing this before specifically for events, which is now redundant. Fixes #8108 . 1.5-stable
2011-02-07 10:48:38 -06:00
jeresig
328a86f9a0
Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing problems with the focusin event, see: #7340 .
...
This reverts commit 88068f82c1
.
Conflicts:
src/event.js
test/unit/event.js
2011-01-21 09:24:09 -05:00
Colin Snover
e78d3a7e2d
Merge in data_nocollide branch. Fixes #6968 , improves unit testing framework checks for leaky stuff.
2011-01-17 15:31:43 -06:00
jeresig
987c44bee4
Merging pull request 183 for #7793 .
2011-01-17 15:45:07 -05:00
Dave Methvin
007e2d152e
Update test case to feature-detect Opera's lack of defaultPrevented and skip the test for it.
2011-01-15 10:24:13 -05:00
Colin Snover
e2941d5a98
Update unit tests with a leak detection mechanism for the various jQuery globals and fix all leaks in the tests.
2011-01-09 15:58:47 -06:00
Colin Snover
8e59a99e0a
Change the way jQuery.data works so that there is no longer a chance of collision between user data and internal data. Fixes #6968 .
2011-01-09 15:52:33 -06:00
rwldrn
612a908514
#7883 .delegate and .live should accept false as the fn arg, like bind
2011-01-01 13:49:59 -05:00
Colin Snover
3e0cc81504
Clean trailing whitespace from all files.
2010-12-30 00:34:48 -06:00
Dave Methvin
64ee5581af
When a native browser event is bubbling up the DOM, make sure that the correct isDefaultPrevented value is reflected by jQuery's Event object. Fixes #7793 .
2010-12-27 13:30:05 -06:00
Dave Methvin
b8931f7448
Test for standard createEvent before IE-specific click method.
...
Don't fallback to fake click; let's see which browsers fail, if any.
2010-12-27 12:43:48 -05:00
Dave Methvin
0b6afcedd2
When a native browser event is bubbling up the DOM, make sure that the correct isDefaultPrevented value is reflected by jQuery's Event object. Fixes #7793 .
2010-12-23 19:59:23 -05:00
Anton M
89b771daef
Make sure custom events named "submit" can be bound to non DOM elements in IE too. Fixes 6398.
2010-11-21 04:31:04 +01:00
dmethvin
974b5aeab7
Honor stopImmediatePropagation for live/delegate event handlers. Fixes #7217 .
2010-10-25 13:05:31 -07:00
rwldrn
3b50eaca2c
Fixes #7229 and #5803
2010-10-24 12:18:33 -04:00
jeresig
0564553bf1
Fix the number of change tests and remove textarea tests.
2010-10-14 22:37:56 -04:00
jeresig
2d5f8666ac
Use prepend for the focuin test (to avoid making the test suite jump).
2010-10-14 21:40:35 -04:00
Justin Meyer
88068f82c1
Make sure that focusin/focusout bubbles in non-IE browsers.
2010-10-13 10:35:28 -04:00
John Resig
2ef8da0924
Merge branch 'bug7150' of http://github.com/csnover/jquery
2010-10-12 21:51:44 -04:00
John Resig
783bb2a85f
Fix some gaps in the handling of event data properties. Thanks to @jitter in ff6ceadbfd
for the catches.
2010-10-12 20:56:46 -04:00
Colin Snover
1518ae1aed
Fix patch for #7150 , which was not deleting the events object properly on plain JS objects. Thanks to jitter for catching it.
2010-10-12 18:49:37 -05:00
Colin Snover
ff6ceadbfd
Use a key name less likely to result in collisions for events on plain JS objects. Fixes bug #7150 .
2010-10-11 23:35:18 -05:00
John Resig
1df5084c97
Handle some edge cases with binding events to the window object (which is also a plain object - causing some confusion). Fixes #7143 .
2010-10-11 18:20:57 -04:00
John Resig
c00a6ff1f1
Add some resize event tests.
2010-10-11 18:03:54 -04:00
Dave Reed
cb811c04b0
Using data() on JavaScript objects sets fields directly on the object. Note that events are now a property of a function (to avoid JSON serialization - and only in the case of JavaScript objects, not DOM nodes). Fixes #6807 .
2010-09-29 06:46:25 -07:00
John Resig
49f6f34181
Fix number of expected select tests from commit 879799fe95
. Thanks to @jitter for the catch.
2010-09-29 05:41:27 -07:00
Dave Methvin
2c4b20809e
Don't have .val() return selected-but-disabled options, or selected options inside a disabled optgroup. Doesn't change the .val() returned for a disabled select. Fixes #3240 , adapted from Nathan Hammond's patch there.
2010-09-24 17:26:22 -04:00
Robert Katic
7367b524ec
Ensure that selector is not broken.
2010-09-23 12:08:29 -04:00
Robert Katic
dc4c9abc39
Correcting some imperfections in test added in previous commit.
2010-09-23 12:08:15 -04:00
Robert Katic
da5706c974
Added support for map of events in live, die, delegate and undelegate. Fixes #6282 .
2010-09-23 12:07:42 -04:00
jeresig
1ba2df02d6
Use custom events for testing unbind instead of the, potentially conflicting, error event.
2010-03-24 15:39:58 -04:00
jeresig
da26d0eb4e
Rewrote the live/delegate submit tests to be more generic.
2010-03-09 14:08:33 -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
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
5c111a028a
We no longer support globally-triggered events on plain objects. This is a trade-off to having good garbage collection on the objects.
2010-03-02 10:51:31 -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
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
7f5179b654
Make sure that unbinding on a plain javascript object works correctly. Fixes #6184 .
2010-02-26 11:32:12 -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
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
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
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
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
104757705a
Added some more tests for checking the execution order of events (from last night's changes - routes around Chrome's busted object looping abilities).
2010-02-04 09:23:50 -05:00
Justin Meyer
e177465a6b
Forgot to land Justin's tests for the event fixes.
2010-02-04 00:49:46 -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
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
0252b78201
Provide a way to simulate default browser actions. Fixes #5973 .
2010-01-28 14:34:09 -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
3e286440d5
Make sure that .die() with no args works. Fixes #5789 .
2010-01-23 16:37:12 -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
150e44cdda
Make sure non-left-click events don't bubble. Fixes #3861 .
2010-01-23 11:12:26 -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
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
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
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
John Resig
1052792bb2
Fixed problems with removing live events. Fixes #4894 .
2009-12-09 14:43:53 -08: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
21dead4691
Simplified a selector in the .live() tests.
2009-11-30 14:02:03 -05:00
jeresig
6e5a6a26a7
Tweaked the live test to be a bit simpler.
2009-11-30 13:50:25 -05:00
Robert Katic
04dbdb7525
Corrected RegExp to match event namespaces. Fixes #5303 .
2009-11-26 00:58:39 +08: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
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
8356871a55
testrunner: focus & blur events could fail if the window isn't focused
2009-09-15 17:11:15 +00:00
Ariel Flesler
5e0da8c036
testrunner: resetting the scroll position after focusing a field
2009-09-14 23:28:21 +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
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
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
4460d5ad59
unit tests for using jQuery events on non-dom elements. fixes #3439 . thanks morgan
2009-05-04 04:54:09 +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
45b8d2531e
enable test for binding events cross-frame that was fixed in r6316
2009-04-29 22:04:41 +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
30e760b63f
fix for #4189 , live/die now work with contexts other than just document
2009-03-20 03:10:07 +00:00
Ariel Flesler
48164ee603
jquery event: Fixing event.currentTarget for live().
2009-02-23 13:27:48 +00:00
John Resig
8d9aa015c1
Changed the currentTarget test - no need to test the native event triggering for this test.
2009-02-17 17:22:59 +00:00
Ariel Flesler
63f8bb7027
testrunner: Misc
2009-02-17 12:42:46 +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
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
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
eced38a30d
testrunner: refactored unbind's tests. Including one for #3538 , passing since last commit.
2009-01-08 22:22:33 +00:00
John Resig
b1e161466c
Disabled an extra event binding.
2009-01-05 23:06:57 +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
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
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
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
67ded9a36a
Made sure that the correct event.taget is being used in event bubbling.
2008-12-22 02:02:05 +00:00
John Resig
25885e07b2
Added support for bubbling triggered events.
2008-12-22 01:57:06 +00:00
John Resig
77344f4c50
Added support for multiple-namespaced events (in bind, trigger, and unbind).
2008-12-19 04:34:12 +00:00
Jörn Zaefferer
12bb969411
core: tests cleanup for compability with qunit updates: stop() now actually accepts an argument (ajax.js); selectors should be confined to fixture(event.js)
2008-10-24 14:40:58 +00:00
Ariel Flesler
b860c30b82
test runner: Commented 2 tests that jam the suite.
2008-10-21 01:48:23 +00:00
Ariel Flesler
9e48649729
test runner: the changes are:
...
- Replaced all the $ for jQuery in the tests and suite.
- Added a noConflict to testrunner.js.
- Modified the test for noConflict() so that it still work.
- Added jQuery 1.2.1 and 1.2.3 to otherlibs.
2008-05-28 23:18:25 +00:00
Ariel Flesler
407c5eb430
test runner: extra test case, [5501]
2008-05-08 16:25:12 +00:00
Ariel Flesler
ba48be3ada
test runner: translated all the ok() with '==' to equals(), as it gives more information on failures.
2008-05-06 18:56:02 +00:00
Ariel Flesler
d822c0c214
test runner: adding a test case for $.fn._toggle with more than 2 functions.
2008-04-29 22:20:02 +00:00
Jörn Zaefferer
32b1cb3a5c
jquery.event: Patch for #2708
2008-04-22 21:59:40 +00:00
Brandon Aaron
5d033dba02
Trigger onclick handlers of links
2008-04-21 20:39:17 +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
Jörn Zaefferer
2fa855601e
fix for #2114 ; refactored tests for bind() to highlight failing select-change-test
2008-01-14 09:33:08 +00:00
John Resig
3261544c38
Fixed #2027 - make sure that cloned elements (within appendTo, etc.) have their events cloned by default.
2007-12-20 13:36:56 +00:00
David Serduke
b740fe5632
Fixed a problem in the unit tests for IE where an optimization made the test case not work. The optimization was fine. It was the unit test that was taking a short cut which caused it to fail after the optimization went in.
2007-12-20 07:39:35 +00:00
Jörn Zaefferer
70ae356e4e
Test for #2069
2007-12-17 17:39: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
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
John Resig
d5f2129ac4
Fixed an issue with the suite expecting a different result for the changed triggerHandler behavior.
2007-09-15 02:23:08 +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
6728e3cf74
Finished up some of the reorganization.
2007-09-08 12:46:01 +00:00