Commit Graph

520 Commits

Author SHA1 Message Date
Greg Lavallee
e83bc970f2 Fixes #12736. Move hover event hack to deprecated.js for removal in 1.9. Closes gh-982.
Signed-off-by: Timmy Willison <timmywillisn@gmail.com>
2012-10-16 14:47:11 -04:00
carldanley
08e134548f Create private methods for processing data/removeData requests. Fixes #12519, Closes gh-976 2012-10-16 11:15:41 -04:00
David Bonner
9104a3d5f2 Deprecate fn toggle Closes gh-970 https://github.com/jquery/2012-dev-summit/issues/24 2012-10-15 17:20:33 -04:00
Dave Methvin
a60fed4dec Fix #12690. Avoid use of UTF-8 chars in final files. 2012-10-10 13:00:45 -04:00
Richard Gibson
15b5dbfe23 Fix #12229, size/consistency improvements. Close gh-887. 2012-09-18 18:04:31 -04:00
Dave Methvin
e8e3e90a86 Fix #12423. Ensure we can .apply() before we try.
I can't think of an uncontrived way to unit test this, it only occurs in IE when a BHO monkeys with the links.
2012-09-18 14:26:40 -04:00
Dave Methvin
9b67b4c0ef Fix #12436, make delegated events fast again. Close gh-923.
Retains the rooted-at-delegateTarget behavior fixed in #12383 by afd717df9e.
2012-09-09 21:21:42 -04:00
Dave Methvin
84e45301c5 Update placeholder references to tickets. 2012-08-28 10:09:22 -04:00
Dave Methvin
afd717df9e Fix #12383. All selectors should be delegateTarget-relative 2012-08-28 10:07:16 -04:00
Dave Methvin
f3ea073dc0 Fix #12329. Remove leftover jQuery.bindReady reference.
jQuery.ready already fires "ready" event properly, the undefined reference had no effect.
2012-08-20 08:02:36 -04:00
Nikita Govorov
ff7b7cfd1d Fix #12149. Avoid memory leak on oldIE change events. Close gh-878. 2012-08-19 20:24:03 -04:00
Dave Methvin
1d8bf0a2b5 Fix #12203. .undelegate() should not remove direcly bound events. 2012-08-07 20:49:34 -04:00
Richard Gibson
c14a6b385f Clean up regexen; use common regex for numbers. Close gh-862. 2012-07-22 22:23:32 -04:00
Mike Sherov
8f01b92b8f Follow the style guide, lose 72 bytes! Closes gh-840. 2012-07-09 21:39:22 -04:00
Dave Methvin
86b775d036 Remove more attrFn vestiges from events. 2012-07-05 17:46:08 -04:00
Dave Methvin
8a01c9201a Fix #11382. #11764. Only prevent click events on disabled elements.
We don't want a disabled link/button to register delegated clicks, but we do want events like mouseover or custom events.

This is a compromise, there is no perfect solution. Well, the browsers could be consistent about direct vs. delegated events but *that's* not gonna happen.
2012-06-27 11:58:16 -04:00
Dave Methvin
94e744aec9 Fix #11315. Selector for .on() is relative to delegateTarget.
This fixes a regresssion from 1.6.4. Be aware that nearly every place that this bug comes into play, the selector in use is incredibly inefficient.
2012-06-27 11:54:04 -04:00
Timo Tijhof
9bb3494ce9 Fix #11925, Pass eventHandle to special.teardown. Closes gh-831.
* Added unit test to confirm.
  The third assertion fails without the fix in ./src/event.js
2012-06-22 15:57:46 -04:00
timmywil
713cc86096 Move quickIs to Sizzle; Remove duplicate id matching in init; Added selector caching to Sizzle. Fixes #11826. 2012-06-18 23:10:32 -04:00
Dave Methvin
f8c02c886e Fix #11328. I've never metaKey I liked on IE 6/7/8.
The `event.metaKey` property is undefined there so we ensure it's set to `false` for lack of a better default. The `originalEvent.metaKey` property is untouched if you prefer to make other guesses about the platform or key state.

This is pretty much impossible to unit test since it is not only platform dependendent but also only executed for native browser events.
2012-06-11 18:44:54 -04:00
Rick Waldron
7c23b77af2 Strips IIFEs from modules; Always require built jQuery for tests. 2012-06-04 12:48:18 -04:00
Jason Moon
4757881759 Fix #11796. Preserve oldIE change delegation on clone. Closes gh-789. 2012-05-22 21:29:13 -04:00
Jason Moon
e93f2a89e2 Fix #11649. Preserve oldIE submit flag when cloning, closes gh-772. 2012-05-18 16:34:30 -04:00
Dave Methvin
b6581df5de Fix #11621, $(document).trigger() must bubble to window. 2012-05-12 14:23:50 -04:00
Rick Waldron
2f1ddd4507 Fix #11500. Allow triggered, simulated change events. 2012-04-10 21:54:07 -04:00
Sindre Sorhus
d5ee856a44 Remove moot second argument from slice.call()
The zeroes were added to fix http://bugs.jquery.com/ticket/4942 but those browsers are no longer supported.
2012-04-04 23:22:15 -04:00
Oleg
203a168980 Fix #8545. Plug event handling memory leak in oldIE. 2012-04-04 21:38:46 -04:00
Dave Methvin
92a92be10f Fix #11049. Let bubbling submit be cancellable in oldIE. 2012-03-06 19:56:17 -05:00
Dave Methvin
633ca9c161 Fix #11076. If .clone() won't delegate, we must remediate.
Since `jQuery.event.add` can accept a handleObj there's no need to reiterate them as args, but we *do* need to set the `selector` variable correctly.
2012-01-28 16:30:35 -05:00
Mike Sherov
135bb4ff81 Add undef:true to JSHint now that it understands hoisting
also add smarttabs:true and fix some smarttabs spacing issues
2012-01-19 22:36:08 -05:00
Dave Methvin
8d9025ca50 Fix #8165: Ignore events bubbling through disabled elements.
Although #6911 fixed the case where event.target was disabled, it missed the case where the target was a sub-element.
2012-01-19 22:14:24 -05:00
Rick Waldron
c0da49ff37 Fix #11130: Don't neglect the data arg when event-map is passed. 2012-01-12 20:30:45 -05:00
Richard Gibson
77de76b942 Fix #11145: Harden dispatch against a form-aliased "disabled" property 2012-01-11 21:56:18 -05:00
Dave Methvin
4534db196b Fix #11021. There should be no mangling of the "hover" namespace. 2011-12-13 22:29:35 -05:00
Dave Methvin
5798eab124 Fix #10961. XRegExp's shimmed .exec() can't handle undefined.
There's no reason to call quickParse if selector is falsy, so it's a minor performance optimization anyway. No change in behavior at all on our side, so no test case needed.
2011-12-13 21:57:48 -05:00
Dave Methvin
c584ce4f56 Fix #10984. Use origType when unbinding via the event object. 2011-12-13 21:40:59 -05:00
Mike Sherov
98386cfd77 Fix #10692. JSLint is dead! Long live JSHint!
Still needs this sizzle PR: https://github.com/jquery/sizzle/pull/82
2011-12-08 21:04:57 -05:00
Rick Waldron
64df670a81 Remove unnec .call( this... from one: function() {}. Fixes #10819 2011-12-06 16:27:38 -05:00
Dave Methvin
8cb065addc Fix #10844. Harden quickIs() against form-aliasing of the id property. 2011-11-21 11:33:21 -05:00
Dave Methvin
780c59b89d Fix #10791. SVG clamors for special treatment of its class names. 2011-11-16 10:35:53 -05:00
Dave Methvin
80797f5805 Fix #10798. Don't re-bubble trigger()ed events in IE.
Since .trigger() already bubbles the event, we don't have to work around the non-bubbling IE events for that case.
2011-11-15 21:06:53 -05:00
Dave Methvin
ca8fc725ac Allow mapped types to be removed by a namespace-only type name. 2011-11-15 11:38:55 -05:00
Dave Methvin
6736dd7168 Fix #10794. .triggerHandler() should not .preventDefault().
This also provides a resolution for #10699.
2011-11-15 10:23:24 -05:00
Dave Methvin
683be093a6 Catch more cases where special events were incorrectly removed.
We can't take the blow-it-all-away shortcut because something in the middle of the list may be a mapped special event. On the bright side, -22!
2011-11-13 20:50:36 -05:00
Dave Methvin
774eba3388 Avoid collateral damage when removing bindType/delegateType special events. 2011-11-10 21:53:07 -05:00
Dave Methvin
5ba7f60822 Ensure the hover event doesn't match hovercraft. Witchcraft, maybe. 2011-11-10 18:05:58 -05:00
Dave Methvin
e977a85b87 The special.handle hook is for origType, not the mapped type. 2011-11-09 21:51:55 -05:00
Dave Methvin
dd363d2c0f Fix #10705. Don't bail too soon in .off() event string processing. 2011-11-09 21:29:15 -05:00
Dave Methvin
39f9b846e7 Fix #10712. Deal with focus/blur morphing to focusin/focusout. 2011-11-08 23:08:04 -05:00
Dave Methvin
45101de696 Fix #10717, .trigger("load") on images can't bubble to window.
This means no manually triggered event named "load" can bubble, so avoid that name for delegated custom events.
2011-11-08 19:32:25 -05:00
Daniel Herman
5ba98fe324 Replace .bind with .on when building event aliases 2011-11-07 18:07:54 -05:00
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