Commit Graph

455 Commits

Author SHA1 Message Date
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