Commit Graph

469 Commits

Author SHA1 Message Date
Dave Methvin
13aa84580a Fix #10676. Remove wheelDelta from the event props list.
A cross-browser solution is best handled in a plugin such as jquery-mousewheel.js .
2011-11-07 11:15:18 -05:00
Dave Methvin
90c907e8b6 Fix #10701, .preventDefault if an inline handler returns false.
Baby unicorns are slapped each time you use inline handlers, so do it sparingly.
2011-11-07 11:07:36 -05:00
Dave Methvin
a7e911b7fe Since we fixed .is(POS) let's use it and save bytes.
Also, creates a single jQuery object and reuses it in the delegation-test loop to make it more performancy.
2011-11-06 20:12:00 -05:00
Dave Methvin
83c72eaa9c Remove forever-alone regexps in event.js
These should have been removed during the event refactor.
2011-11-06 14:49:31 -05:00
Dave Methvin
5c0c86378a DRY the hover pseudo-event, get the type right, allow override.
Now with working unit test for extra correctness! If external code defines a special.hover event, we won't string-hack "hover" into "mouseenter mouseleave".
2011-10-27 17:11:40 -04:00
Dave Methvin
df4a160be7 Pass correct arg list to special._default. Thanks @mikaelkaron! 2011-10-27 16:02:54 -04:00
Rick Waldron
f0cf49fee2 Cleanup spacing in events.js. Fixes #10601 2011-10-27 15:31:35 -04:00
Dave Methvin
35bc30cd87 Fix #10576. Add alias for jQuery.event.handle so voyeur code still works.
Between new 1.7 special event hooks and jQuery.event.simulate() we have a much cleaner solution than the people calling jQuery.event.handle are doing, but we shouldn't break their use of this undocumented internal interface for now.
2011-10-26 16:02:20 -04:00
Dave Methvin
fc13f5b6ce Fix #10575. Undeclared matched var hosed recursive delegate calls.
Thanks davidmurdoch for staying with this bug!
2011-10-25 13:43:27 -04:00
Dave Methvin
746074f0f7 Remove attribute match from quickIs
As @timmywil points out, attributes and properties are confused by IE6/7. This commit also reworks the unit test case to do a better job of checking className matches.
2011-10-24 18:05:53 -04:00
Dave Methvin
ee3eb6cabf Fix #10567. Make sure quickIs matches correct class name. 2011-10-24 17:26:43 -04:00
Dave Methvin
84d2307e0e Fix #10563. Ensure event.currentTarget==this if delegated.
Now, event.delegateTarget is always the element where the event was handled, regardless of whether delegated handlers are attached.
2011-10-24 11:18:20 -04:00
Dave Methvin
560c33b395 Stop global event bubbling using onlyHandlers flag. 2011-10-24 11:18:19 -04:00
Dave Methvin
4ac6f8d9d3 Make jQuery().off(event) work for delegated events.
Logic to handle detaching by event was in both .off() and jQuery.event.remove; now it's only in .off(). It's a bit of a strange case since the event object (not the jQuery set) specifies the element.
2011-10-24 11:18:18 -04:00
Dave Methvin
b208042f52 Fold dispatch function into main event dispatch. 2011-10-24 11:18:17 -04:00
Dave Methvin
470cc07167 Don't add an empty list of handlers. 2011-10-24 11:18:15 -04:00
Dave Methvin
d28ab68699 Make event.currentTarget the delegate node, always.
This lets us use currentTarget for its intended use and avoids creating a non-standard delegateTarget property.
2011-10-24 11:18:14 -04:00
Dave Methvin
9fabe2028f Don't run direct handlers if delegate did .stopPropagation(). 2011-10-24 11:18:13 -04:00
Mathias Bynens
a6bec46170 Landing pull request 554. #10531: Remove layerX and layerY Fixes #10531.
More Details:
 - https://github.com/jquery/jquery/pull/554
 - http://bugs.jquery.com/ticket/10531
2011-10-22 16:14:47 -04:00
Dave Methvin
0a3cab8d49 Fix #10489. Disconnected elements don't bubble to document. 2011-10-13 16:30:40 -04:00
Dave Methvin
6afc2c074b Fixes #10477. Get .off(type, null, fn) right. 2011-10-11 20:31:45 -04:00
Dave Methvin
511c9fe763 Fix focus/blur unit test issues. Reopens #6705.
In the event refactor, I tried to have the focus/blur events trigger the focus/blur plus focusin/focusout events but this doesn't handle various real-world cases that expect a trigger()ed jQuery handler to run and be able to pass data even if the native event shouldn't fire.

This reopens a bug that causes a double-fire of
inline event handlers.
2011-10-10 23:14:08 -04:00
Dave Methvin
307b1a3d77 Fix #10468. Remove jQuery.event.proxy and jQuery.event.guid.
These were deprecated several versions ago and have always been undocumented. Use jQuery.proxy() and jQuery.guid instead.
2011-10-10 21:51:15 -04:00
timmywil
e828d18caa Minor fix in events; undeclared var from last commit 2011-10-07 11:45:42 -04:00
Rick Waldron
3999d39b84 Additional nits 2011-10-06 16:36:15 -04:00
Rick Waldron
4fd70e7e02 Style sweep 2011-10-06 10:21:23 -04:00
Dave Methvin
e5b16e3356 Rename jQuery.event.propHooks to .fixHooks.
We already have jQuery.propHooks for the .prop() method, so using the same name for unrelated functionality on a sub-namespace is crazy talk. Since the method involved is jQuery.event.fix(), this will hopefully tie them together. Oh, and it's shorter.
2011-10-05 21:41:32 -04:00
Dave Methvin
96a44a86d8 Fix #10375. Don't put type in jQuery.event.props
It's already set in jQuery.Event, and copying it can clobber values set by the caller, e.g., the UI widget factory.
2011-09-29 10:34:55 -04:00
Dave Methvin
9c4aaeb0a8 Expose jQuery.event.simulate for use by special event handlers. 2011-09-28 12:05:12 -04:00
Dave Methvin
c7838c3607 Minor cleanups to code. Futile effort to get IE to pass the unit test. 2011-09-25 22:04:52 -04:00
Dave Methvin
b4120a7430 propHooks now an object with props array and filter function.
Use the originalEvent to grab properties in filter functions since they often won't have been copied to event. Mark a few current props in the main jQuery.event.props list as deprecated, they aren't supported across all browsers.
2011-09-25 19:56:34 -04:00
Dave Methvin
ae27424b30 Merge branch '8789-fun-with-fix' of https://github.com/rwldrn/jquery into fix-8789-rwldrn-fix
Conflicts:
	src/event.js
	test/unit/event.js
2011-09-24 22:37:16 -04:00
Rick Waldron
87e1c62d8e Moves mouse properties to mouseProps 2011-09-23 15:45:19 -04:00
Rick Waldron
c80ad2524e current state 2011-09-22 20:02:34 -04:00
Rick Waldron
c7f3b6109e Removes early return loop, must copy properties 2011-09-22 19:05:06 -04:00
Rick Waldron
14cb04dc94 Shortcircuit fix if possible 2011-09-22 11:30:03 -04:00
Rick Waldron
dc878ae33b More ref localization 2011-09-22 11:22:56 -04:00
Rick Waldron
7dab8981f8 Remove unnec. empty line 2011-09-22 11:14:45 -04:00
Rick Waldron
737820118b More reference caching 2011-09-22 11:12:42 -04:00
Rick Waldron
7babc7f203 Cache reference to propHook lookup and result 2011-09-22 11:07:16 -04:00
Rick Waldron
66202aeae5 Restore this.propHooks => jQuery.event.propHooks for better gzip compression. Thanks gnarf 2011-09-22 10:59:29 -04:00
Rick Waldron
2c903b805c Adds notes re: crash status of fix conditions 2011-09-22 10:52:29 -04:00
Rick Waldron
313bee9de4 Moves key event fixes to own even prop hook defs 2011-09-22 10:43:32 -04:00
Rick Waldron
9ef0394fbd jQuery.event.propHooks => this.propHooks where possible 2011-09-22 10:35:18 -04:00
Dave Methvin
a4cdbf09ee Fix #7061. Lazy-attach to the genuine submit event for delegation.
Avoids the problems that arise when we try to trigger submit behavior at clicky-time.
2011-09-21 21:15:00 -04:00
Dave Methvin
03d95530b5 Remove the rarely-used pseudos from quickis.html
The cutting will continue until file size is improved.
2011-09-21 09:40:57 -04:00
Dave Methvin
61511d5ab3 Allow IE .trigger()ed events through on a check/radio. 2011-09-20 23:01:07 -04:00
Dave Methvin
b85f222df5 Don't fire change on an already-selected radio.
Thanks to Brandon Wallace (@bman654) for his code review. Also tweaks delegatetest.html output.
2011-09-20 22:18:34 -04:00
Dave Methvin
3bd7bed340 Fix #6593. Don't let onchange trigger twice for elements in IE.
This is a major revamp of the approach we use for IE change events. Instead of trying to track and simulate, we lazy-attach real change events to inputs and have only one workaround for check/radio. Somewhat more resource intensive but closes several sticky bugs. The onchange is still triggered for check/radio on blur but no double-trigger on any element occurs.
2011-09-20 20:44:36 -04:00
Rick Waldron
0aaa1fae83 Removes pageX pageY from prop list 2011-09-20 14:54:33 -04:00
Rick Waldron
3d39b7d527 Updates rmouseEvent 2011-09-20 13:14:59 -04:00
Rick Waldron
9fbed020a1 Implements jQuery.event.propHooks. Fixes #8789 2011-09-20 12:54:34 -04:00
Corey Frang
9b3768b968 Landing pull request 512. 1.7 - removeData now takes space separated lists and arrays of keys - Fixes #7323.
More Details:
 - https://github.com/jquery/jquery/pull/512
 - http://bugs.jquery.com/ticket/7323
2011-09-19 21:16:20 -04:00
Corey Frang
d5f144a7bb Landing pull request 500. 1.7 - "public data" stored as a key on "internal data" - Fixes #8921.
More Details:
 - https://github.com/jquery/jquery/pull/500
 - http://bugs.jquery.com/ticket/8921
2011-09-19 16:13:14 -04:00
Dave Methvin
6ece8f138f Revert "Fix #6593. Don't trigger change event twice when simulating it on IE." Add inline handler monitor to delegatetest.html so we can see it fail.
This reverts commit e77686495b6e34938575c9c0fe978cb4a0be6f05.
2011-09-19 15:42:32 -04:00
Dave Methvin
6c618ddb0d Eliminate global variable "l" (!) 2011-09-19 15:42:32 -04:00
Dave Methvin
06e56acb0d Narrow the invisible-element embargo to focus/blur events. 2011-09-19 15:42:32 -04:00
Dave Methvin
4030de9519 Update "Fix #6593. Don't trigger change event twice when simulating it on IE."
This reverts commit 3d0de29d5615c1b1d74c72e6272484961a4ba243.
2011-09-19 15:42:32 -04:00
Dave Methvin
8c91da57b9 Fix #9593. Create a new jQuery.Event rather than a plain object when simulate()ing events. Fix a related issue with not passing src to jQuery.Event constructor. 2011-09-19 15:42:32 -04:00
Dave Methvin
619a89d5ff Fix #6593. Don't trigger change event twice when simulating it on IE. 2011-09-19 15:42:31 -04:00
Dave Methvin
6872d31f5a Fix #6170. Don't try to run DOM methods on window. 2011-09-19 15:42:31 -04:00
Dave Methvin
38601e07da Remove the relatedTarget adjustment for mouseenter/leave events, it's an ambiguous case anyway and it is expensive to do. 2011-09-19 15:42:31 -04:00
Dave Methvin
2886249e84 Cosmetic and style cleanups. 2011-09-19 15:42:31 -04:00
Dave Methvin
0ec71ac707 Fix the special event handler for mouseover/out events.
And use the /dist version of jquery.js, willya?
2011-09-19 15:42:31 -04:00
Dave Methvin
9aa553aa18 Rework #1486 patch to avoid try/catch and look for hidden elements by .offsetWidth. Unit test currently disabled due to Chrome bug. 2011-09-19 15:42:31 -04:00
Dave Methvin
ecd10464e8 Fix #9951. Precompute path for .trigger() to match up with W3C spec. 2011-09-19 15:42:31 -04:00
Dave Methvin
0ccb88d48d Fix some messy rebasing issues. 2011-09-19 15:42:31 -04:00
Dave Methvin
005958b731 Fixes for IE8. Avoid killer recursion in special events during removal. Use q instead of quote in unit tests. 2011-09-19 15:42:31 -04:00
Dave Methvin
9038aa9586 The unload event no longer needs the IE6SP2 fix, see http://bugs.jquery.com/ticket/8982 2011-09-19 15:42:31 -04:00
Dave Methvin
68d07bf648 Clean up the delegate matching logic. 2011-09-19 15:42:31 -04:00
Dave Methvin
66e9a6f773 Make a blur event bubble properly when mutated into a focusout event. 2011-09-19 15:42:31 -04:00
Dave Methvin
8a6bbc70d0 Remove redundancy in the IE special submit handler. 2011-09-19 15:42:31 -04:00
Dave Methvin
bd55f905a0 Fix simulate() arg order. 2011-09-19 15:42:31 -04:00
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