Commit Graph

546 Commits

Author SHA1 Message Date
Dave Methvin
bb1081ee44 Clean up the quick selector expression parsing code. 2011-09-19 15:42:31 -04:00
Dave Methvin
990c094f1c special.handle now must call the handleObj.handler if it wants that to happen. Also re-use the simulate() function for bubbling focusin. 2011-09-19 15:42:31 -04:00
Dave Methvin
6a670df9e9 Rework the special events interface to add handle and trigger hooks. Modify IE change/submit special events to take advantage of them. Rewrite mouseover/enter code as special events rather than inline code. In the event unit test, set a tabindex on the div element and focus it first to justify a legitimate blur event. 2011-09-19 15:42:31 -04:00
Dave Methvin
df6e0d508e Rewrite IE special change/submit to make it faster/shorter. Fixes #6319. 2011-09-19 15:42:31 -04:00
Dave Methvin
0dc7b16e94 Fixes #8858. Pass the .trigger(..., data) to the event.special._default method. 2011-09-19 15:42:31 -04:00
Dave Methvin
d74c6bd0f4 Add unit tests for quickIs cases and fix the regexp as a result. 2011-09-19 15:42:31 -04:00
Dave Methvin
03f99ff995 Pre-compute delegated event path and handlers to comply with http://www.w3.org/TR/DOM-Level-3-Events/#event-flow 2011-09-19 15:42:30 -04:00
Dave Methvin
5d6a1424aa jQuery 1.7 event work:
Add .on() and .off() methods.
Write existing methods in terms of on/off.
Rewrite delegated handling to remove "live" event.
Fix existing code for jQuery style guide.
Fix existing bug in unit tests calling .undelegate()
2011-09-19 15:42:30 -04:00
Dave Methvin
81c778b2ca Fix #10208. Check for button as well as input when performing the #7071 VML crash workaround for IE special-events submit code. 2011-09-07 11:30:22 -04:00
Steen Nielsen
2d275dfd05 Make sure that Internet Explorer 6-8 won't give a "failed" error, when a request for type is made on vml objects 2011-07-15 22:21:44 +02:00
rwldrn
6926247bf4 Landing pull request 397. withinElement rewrite in event. Fixes #6234, #9357, #9447.
More Details:
 - https://github.com/jquery/jquery/pull/397
 - http://bugs.jquery.com/ticket/6234
 - http://bugs.jquery.com/ticket/9357
 - http://bugs.jquery.com/ticket/9447
2011-06-14 15:38:46 -04:00
rwldrn
c3c001cf5b Landing pull request 404. Removes unused hasOwn var declaration. Fixes #9510.
More Details:
 - https://github.com/jquery/jquery/pull/404
 - http://bugs.jquery.com/ticket/9510
2011-06-06 20:16:14 -04:00
Rick Waldron
c17f589ec9 Landing pull request 377. Check custom data != null(undefined), allows zero; Fixes #9285.
More Details:
 - https://github.com/jquery/jquery/pull/377
 - http://bugs.jquery.com/ticket/9285
2011-05-16 10:38:36 -04:00
John Resig
419b5e5e2a Make sure that mouseenter/mouseleave fire on the correct element when doing delegation. Fixes #9069. 2011-05-10 11:49:32 -04:00
Rick Waldron
bf678fd9d6 Restores var names to satisfy the crock-machine. Supplements #9008 2011-04-28 22:26:34 -04:00
Rick Waldron
ca367674c1 Restored /g flag to rspaces; Adds unit tests; Supplements #9008 2011-04-28 21:15:45 -04:00
rwldrn
57f56be04f Make cached rspaces regex definitions consistent. Fixes #9008 2011-04-28 16:06:13 -04:00
Jordan Boesch
02ad0aa3b6 Landing pull request 344. using jQuery.nodeName where applicable.
More Details:
 - https://github.com/jquery/jquery/pull/344
2011-04-23 17:58:56 -04:00
Dave Methvin
16312c6b06 Merge branch 'master' of github.com:jquery/jquery into fix-8790a-quicker-trigger 2011-04-21 22:15:21 -04:00
Rick Waldron
8d3754751d DRY out #6514 2011-04-17 15:29:49 -07:00
Brian Brennan
3cb9c1835c Fix live mouseenter and mouseleave binding so they can be activated by triggers. Fixes #6514. 2011-04-17 18:17:31 -04:00
Gilmore Davidson
a9b81d759a Added check for live mouseenter/mouseleave events if bound to nested elements with the same selector. Fixes #5884. 2011-04-17 10:34:38 -07:00
John Resig
adef5c3550 Make sure that there isn't an error if no event object exists. Fixes #8755. 2011-04-17 10:21:46 -07:00
Dave Methvin
235080e125 Follow-up to #8790. Delay the creation of a jQuery.Event until we know it will need to be triggered. 2011-04-16 20:48:27 -04:00
John Resig
6e3b596514 Allow function to be passed in as a data object to bind and one. Fixes #6993. 2011-04-16 17:37:35 -07:00
timmywil
149a040794 Fix test suite fail in IE6/7 on event:undelegate - was failing an if where it shouldn't 2011-04-13 23:14:14 -04:00
Dave Methvin
bebd8bc01e Followup to #8753. Modify new Event constructor signature to jQuery.event(type, props), which can be exploited by jQuery.event.trigger as well. 2011-04-12 19:29:09 -04:00
Dave Methvin
6d49e84daf Merge branch 'fix-8790-quick-trigger'
Conflicts:
	src/event.js
2011-04-12 18:46:21 -04:00
Dave Methvin
9e71ad1b12 Explicitly set event.type in case we chopped out a namespace or exclusive flag. 2011-04-12 18:32:23 -04:00
Dave Methvin
352715bd08 Use explicit "new jQuery.Event" to avoid double-function-call overhead. 2011-04-12 17:46:15 -04:00
John Firebaugh
0d8b247cab Accessing the 'type' property on VML elements fails on IE. Fixes #7071. 2011-04-12 16:48:22 -04:00
John Resig
978c065555 Merge branch 'Sub_Naming' of https://github.com/timmywil/jquery into timmywil-Sub_Naming
Conflicts:
	src/core.js
	src/css.js
	src/event.js
2011-04-12 16:05:40 -04:00
John Resig
e7787cd098 More formatting tweaks. 2011-04-12 15:54:30 -04:00
John Resig
34adda3c88 Fixing some minor formatting problems. 2011-04-12 14:58:55 -04:00
John Resig
b05d631b30 Merge branch 'fix-8790-quick-trigger' of https://github.com/dmethvin/jquery into dmethvin-fix-8790-quick-trigger 2011-04-12 14:57:30 -04:00
jeresig
7bfb6a7dd3 Removing un-needed frameElement check as discussed in #8018. Fixes #8108. 2011-04-12 00:29:52 -04:00
Dave Methvin
7fa6de0ec1 Merge branch 'master' of github.com:jquery/jquery into fix-8790-quick-trigger 2011-04-11 13:25:57 -04:00
Dave Methvin
a5071d49ba Shave some time off array setup in trigger/handle 2011-04-11 13:19:00 -04:00
jeresig
094c48e0c5 Merge branch '8777' of https://github.com/rwldrn/jquery into rwldrn-8777
Conflicts:
	src/event.js
2011-04-11 12:13:04 -04:00
Dave Methvin
7957516671 Merge branch 'master' of github.com:jquery/jquery into fix-8790-quick-trigger
Conflicts:
	src/event.js
2011-04-11 11:44:26 -04:00
Rick Waldon
868e1e28ce Ticket #8753 Always set event type explicitly 2011-04-11 11:32:23 -04:00
Dave Methvin
530c915553 Move initialization of event until we determine if anyone wants it. 2011-04-11 11:15:00 -04:00
Dave Methvin
bb52010442 Merge branch 'master' of github.com:jquery/jquery into fix-8790-quick-trigger 2011-04-10 17:40:31 -04:00
jeresig
14ecd9a992 Merge branch 'proxy-native-bind' of https://github.com/gf3/jquery into gf3-proxy-native-bind 2011-04-10 16:51:22 -04:00
jeresig
2c74ee46ee Merge branch 'eventprops.1.6final' of https://github.com/rwldrn/jquery into rwldrn-eventprops.1.6final
Conflicts:
	test/unit/event.js
2011-04-10 16:28:15 -04:00
Dave Methvin
98d83ef85f Fixes #8722. Remove try/catch used by #3533 to fix the IE Table Colon Blow bug, and instead check for colon in the event name. Thanks to daguej for scoping this out -- a colonoscopy you might say. 2011-04-07 22:52:15 -04:00
Dave Methvin
2f11ba7c98 Allow specific custom events to exit trigger early if there are no handlers bound for that type. 2011-04-06 23:41:47 -04:00
Dave Methvin
bbd9c776ea Fix #8732. Change feature detect for focusin event support, so IE9 won't have duplicate events. 2011-04-06 23:06:52 -04:00
Dave Methvin
b7dd8404c5 Fixes #8712. Bubble custom events to the window when they are triggered. Ride that, Cowboy! 2011-04-06 22:11:58 -04:00
Dave Methvin
879be3d812 Fix some spacing and comment issues that crept in with the rebase. 2011-04-06 11:34:41 -04:00
Dave Methvin
29386db319 Sadly, we still have to bubble the event so inline handlers will work. 2011-04-06 10:57:09 -04:00
Dave Methvin
246757bacd Only bubble a triggered event if we have attached a jQuery handler, but check the current element for an inline handler regardless. Make some other size optimizations as well. 2011-04-06 10:57:07 -04:00
Dave Methvin
bfa32317d2 Switch from recursion to iteration for event triggering. Move event-name namespace processing out of event handler, since it has to always go through trigger. 2011-04-06 10:50:31 -04:00
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
92a4d59c32 Remove this.type assignment 2011-04-05 16:32:42 -04:00
rwldrn
b1b2e83394 Move this.type setting to after prop set; avoid setting twice 2011-04-05 16:20:55 -04:00
rwldrn
23a411b6bc Ticket #8753 Allow special properties to explicitly defined on jQuery.Event objects 2011-04-05 15:55:40 -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
Dan Heberden
47abe5e1da Bug #6911 - Prevent action on disabled elements, both triggering and bound via .live() 2011-02-18 10:09:07 -08:00
Alex Sexton
752db8fffe A temporary workaround for #8018 that avoids any chance of compatibility-breaking changes until a proper fix can be landed in 1.6. 2011-02-17 18:01:30 -06: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
b46dff39c3 Make sure that mousing over Chrome "internal div" doesn't trigger a mouseleave. Fixes #8209.
Follow up to 4a828c93d4
which was stupid and got reversed.
2011-02-08 17:15:55 +01:00
Anton M
944e0e6498 Revert "Make sure that mousing over Chrome "internal div" elements results in no trigger of a mouseleave."
This reverts commit 4a828c93d4.
2011-02-08 17:08:25 +01:00
Anton M
4a828c93d4 Make sure that mousing over Chrome "internal div" elements results in no trigger of a mouseleave. Fixes #8209. 2011-02-08 16:57:06 +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
Timmy Willison
82626799ca Changed $.sub internals to match sub naming, added some more spacing in some areas for readability 2011-02-06 19:34:57 -05:00
Gianni Chiappetta
a03f040dbf Merge branch 'master' into proxy-native-bind
* master: (194 commits)
  Revert "Make sure that focusin/focusout bubbles in non-IE browsers." This was causing problems with the focusin event, see: #7340.
  Replaces "text in-between" technique with a full-fledged one-level transitive search for converters (unit tests added). Also cleans up auto dataType determination and adds converter checks in order to guess the best dataType possible.
  Moves determineResponse logic into main ajax callback. Puts responseXXX fields definitions into ajaxSettings.
  Removes misleading comment.
  Bring jQuery('#id') and jQuery('body') logic back into core (while leaving it in Sizzle at the same time). Was causing too much of a performance hit to leave it all to Sizzle.
  Renames Deferred's fire and fireReject methods as resolveWith and rejectWith respectively.
  Fix typo in regex tweak from previous commit.
  Renames determineDataType as determineResponse. Makes it more generic as a first step into integrating the logic into the main ajax done callback. Also fixes some comments in ajax/xhr.js.
  Move jQuery(...) selector speed-up logic into Sizzle(...) qSA handling. Additionally add in a new catch for Sizzle('.class') (avoid using qSA and use getElementsByClassName instead, where applicable).
  Revises the way arguments are handled in ajax.
  Makes sure statusCode callbacks are ordered in the same way success and error callbacks are. Unit tests added.
  Cleans up and simplifies code shared by ajaxPrefilter and ajaxTransport. Removes chainability of ajaxSetup, ajaxPrefilter and ajaxTransport. Also makes sure context is handled properly by ajaxSetup (unit test added).
  Rework unit tests to check actual result elements.
  Moves active counter test after all other ajax tests where it should be.
  Revised the Nokia support fallback. It turns out that Nokia supports the documentElement property but does not define document.compatMode. Adding this third fallback allows Nokia to run jQuery error-free and return proper values for window width and height.
  Moves things around to make jsLint happier.
  Fixes crossDomain test so that it assumes port to be 80 for http and 443 for https when it is not provided.
  Moves determineDataType into ajaxSettings so that it is accessible to transports without the need for a second argument and so that we can now pass the original options to the transport instead. Also ensures the original options are actually propagated to prefilters (they were not).
  Re-adds hastily removed variable and simplifies statusCode based callbacks handling.
  Use undefined instead of 0 to deference transport for clarity.
  ...

Conflicts:
	src/event.js
2011-01-21 09:58:55 -05: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
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
429b078dc7 Merge branch 'fix7762' into jquery master. Fixes #7762. 2010-12-30 00:02:56 -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
Colin Snover
37d297c67f Clearing event handlers on unload is no longer necessary in any version of IE. This issue causing memory leaks between pages was fixed in MS07-033. 2010-12-26 14:28:49 -06:00
Colin Snover
a939ade9c6 Fix whitespace in event.js 2010-12-26 14:28:13 -06:00
Dave Methvin
c9e8a95709 Simplify the check for isDefaultPrevented. 2010-12-24 09:53:39 -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
Gianni Chiappetta
9f8cd6c499 Fixing $.proxy to work like (and use) Function.prototype.bind (ticket #7783)
http://bugs.jquery.com/ticket/7783
2010-12-14 21:53:04 -05:00
John Resig
b00ab56160 Merge branch 't6398' of https://github.com/jitter/jquery into jitter-t6398 2010-12-06 17:19:30 -05:00
danheberden
3e6e3c5eb8 Fix for #6911 - prevent disabled elements in liveHandler 2010-11-21 16:54:56 -08: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
John Resig
fb48ae8e6c Make sure that when multiple variables are being declared that assignments are each done on their own line. 2010-11-09 11:09:07 -05:00
John Resig
b5b3c73db3 We don't do end of line comments, move them above. 2010-11-09 10:34:32 -05:00
John Resig
7066bb384b Temporarily backing out commit bd474799bf. 2010-10-25 20:26:19 -07:00
danheberden
bd474799bf Prevent IE from firing live/delegate events on disabled elements. (#6911) 2010-10-25 14:07:44 -07: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
Justin Meyer
f3d610e064 beforedeactivate will fire before focusout - use that to our advantage when working with the change event. 2010-10-13 10:38:29 -04:00
Justin Meyer
88068f82c1 Make sure that focusin/focusout bubbles in non-IE browsers. 2010-10-13 10:35:28 -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
jeresig
884de15fb9 Make sure that the unload event doesn't leak in IE - use jQuery's binding mechanism to make that happen. 2010-10-10 18:01:59 -04:00
jeresig
cbf9d874e5 Change event did not fire in IE when an explicit .focus() was used. Fixes #6374. 2010-10-09 19:04:15 -04:00
jeresig
79305ed146 Fix the case where live change was breaking if a live click was bound ahead of time. Very similar to #6359. Fixes #6505. 2010-10-09 18:16:08 -04:00
David Petersen
60744e8abd Set event.LiveFired to undefined in specialSubmit handler so that click events bound before the submit won't prevent the submit to fire. Fixes #6359 2010-09-30 13:46:36 -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
ab77451843 Fix mis-type in commit e3c4e57897. Thanks to @jdalton for the catch. 2010-09-28 20:13:40 -07:00
John Resig
e3c4e57897 Tweak the logic for fixing event.which. Fixes #2338. 2010-09-28 09:07:57 -07:00
Dave Methvin
adff8e45e2 If an inline handler returns false, call event.preventDefault(). Fixes #6337. 2010-09-24 18:02:31 -04:00
dmethvin
69994211b0 Don't copy event.originalTarget, it's a Netscape-specific property. Fixes #2814. 2010-09-24 17:44:48 -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
a7aa86d0b1 Fix missing var. Thanks to @jeff-themovie for the catch. 2010-09-22 16:56:48 -04:00
jeresig
c8dd49f756 Unify the means of detecting a window across the library. Fixes jQuery UI bug #5438 and jQuery bugs #6575 and 6088. 2010-09-22 16:41:51 -04:00
jeresig
9dc6e0c572 Applied the RegExp issues reported by Jeff Robinson here: http://jmrware.com/articles/2010/jqueryregex/jQueryRegexes.html Additionally broke out all remaining inline RegExp. Fixes #7062. 2010-09-22 09:16:28 -04:00
jeresig
be59693037 No need to set returnValue if preventDefault exists. Thanks kangax for the catch. 2010-09-20 10:16:36 -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
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
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
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
dcf0fa5048 More changes to get jQuery in line with JSLint. 2010-03-01 21:24:49 -05:00
jeresig
a4043cdcbf Land some additional tweaks related to running through JSLint. 2010-03-01 18:19:29 -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
jeresig
36faab439a No reason to double-bind the beforeunload event. Fixes #6113. 2010-02-27 10:03:43 -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
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
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
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
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
75bb2d6e51 Fix in logic for handling exclusive namespace testing. Fixes #6048. 2010-02-08 11:31:01 -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
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
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
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
Matt Curry
f6ec9d54d1 Select (with a selected) fired change on first focus in IE. Fixes #5869. 2010-01-23 12:52:32 -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
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
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
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
1d8b3a9af2 Make sure that the focusin and focusout easy-bind methods are exposed. 2010-01-12 17:03:34 -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
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