diff --git a/demos/accordion/collapsible.html b/demos/accordion/collapsible.html
index 85789e6c62..310e550a93 100644
--- a/demos/accordion/collapsible.html
+++ b/demos/accordion/collapsible.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Collapse content
-
+
diff --git a/demos/accordion/custom-icons.html b/demos/accordion/custom-icons.html
index 2351b9bb01..e2fc9bdb14 100644
--- a/demos/accordion/custom-icons.html
+++ b/demos/accordion/custom-icons.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Customize icons
-
+
diff --git a/demos/accordion/default.html b/demos/accordion/default.html
index 99f17df4d1..4afc2b129c 100644
--- a/demos/accordion/default.html
+++ b/demos/accordion/default.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Default functionality
-
+
diff --git a/demos/accordion/fillspace.html b/demos/accordion/fillspace.html
index bcbf6404d8..3a7d81edc9 100644
--- a/demos/accordion/fillspace.html
+++ b/demos/accordion/fillspace.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Fill space
-
+
diff --git a/demos/accordion/hoverintent.html b/demos/accordion/hoverintent.html
index e39fb6d521..09360d62da 100644
--- a/demos/accordion/hoverintent.html
+++ b/demos/accordion/hoverintent.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Open on hoverintent
-
+
diff --git a/demos/accordion/mouseover.html b/demos/accordion/mouseover.html
index bd19ddd4e6..6f4bc2e694 100644
--- a/demos/accordion/mouseover.html
+++ b/demos/accordion/mouseover.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Open on mouseover
-
+
diff --git a/demos/accordion/no-auto-height.html b/demos/accordion/no-auto-height.html
index e349d1a945..c51880b713 100644
--- a/demos/accordion/no-auto-height.html
+++ b/demos/accordion/no-auto-height.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - No auto height
-
+
diff --git a/demos/accordion/sortable.html b/demos/accordion/sortable.html
index 0afa3057b1..a0a8993444 100644
--- a/demos/accordion/sortable.html
+++ b/demos/accordion/sortable.html
@@ -4,7 +4,7 @@
jQuery UI Accordion - Sortable
-
+
diff --git a/demos/addClass/default.html b/demos/addClass/default.html
index 7de7c56f5b..38acd8b4ca 100644
--- a/demos/addClass/default.html
+++ b/demos/addClass/default.html
@@ -4,7 +4,7 @@
jQuery UI Effects - addClass demo
-
+
-
+
diff --git a/tests/visual/button/button_disabled_true.html b/tests/visual/button/button_disabled_true.html
index 5284dc022a..ac21a56838 100644
--- a/tests/visual/button/button_disabled_true.html
+++ b/tests/visual/button/button_disabled_true.html
@@ -5,7 +5,7 @@
Button Visual Test : Button disabled true
-
+
diff --git a/tests/visual/button/button_performance.html b/tests/visual/button/button_performance.html
index 40d53d7743..439e2c1ae9 100644
--- a/tests/visual/button/button_performance.html
+++ b/tests/visual/button/button_performance.html
@@ -9,7 +9,7 @@
#toolbar { margin-top: 2em; padding:0.2em; }
#ops1, #ops2, #format, #mode { margin-right: 1em }
-
+
diff --git a/tests/visual/button/button_ticket_5254.html b/tests/visual/button/button_ticket_5254.html
index ccd237f312..14d27698ad 100644
--- a/tests/visual/button/button_ticket_5254.html
+++ b/tests/visual/button/button_ticket_5254.html
@@ -5,7 +5,7 @@
Button Visual Test : Button ticket #5254
-
+
diff --git a/tests/visual/button/button_ticket_5261.html b/tests/visual/button/button_ticket_5261.html
index ad92c7aa9e..0024393ee2 100644
--- a/tests/visual/button/button_ticket_5261.html
+++ b/tests/visual/button/button_ticket_5261.html
@@ -5,7 +5,7 @@
Button Visual Test : Button ticket #5261
-
+
diff --git a/tests/visual/button/button_ticket_5278.html b/tests/visual/button/button_ticket_5278.html
index ac2c1cff0a..477a0b398b 100644
--- a/tests/visual/button/button_ticket_5278.html
+++ b/tests/visual/button/button_ticket_5278.html
@@ -5,7 +5,7 @@
Button Visual Test : Button ticket #5278
-
+
diff --git a/tests/visual/compound/accordion_dialog.html b/tests/visual/compound/accordion_dialog.html
index e11a35098f..7b3b227edb 100644
--- a/tests/visual/compound/accordion_dialog.html
+++ b/tests/visual/compound/accordion_dialog.html
@@ -5,7 +5,7 @@
Compound Visual Test : Accordion in Dialog
-
+
diff --git a/tests/visual/compound/accordion_tabs.html b/tests/visual/compound/accordion_tabs.html
index f356179c9d..e98edaf7c5 100644
--- a/tests/visual/compound/accordion_tabs.html
+++ b/tests/visual/compound/accordion_tabs.html
@@ -5,7 +5,7 @@
Compound Visual Test : Accordion in Tabs
-
+
diff --git a/tests/visual/compound/datepicker_dialog.html b/tests/visual/compound/datepicker_dialog.html
index 1762e61089..0ef3f9bbc9 100644
--- a/tests/visual/compound/datepicker_dialog.html
+++ b/tests/visual/compound/datepicker_dialog.html
@@ -5,7 +5,7 @@
Compound Visual Test : Datepicker in Dialog
-
+
diff --git a/tests/visual/compound/draggable_accordion.html b/tests/visual/compound/draggable_accordion.html
index 634ffbe2dc..396d0e29ce 100644
--- a/tests/visual/compound/draggable_accordion.html
+++ b/tests/visual/compound/draggable_accordion.html
@@ -5,7 +5,7 @@
Compound Visual Test : Draggable in Accordion
-
+
diff --git a/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html b/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html
index 3f211b0464..a1199c8261 100644
--- a/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html
+++ b/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html
@@ -5,7 +5,7 @@
Compound Visual Test : Draggable in Accordion
-
+
diff --git a/tests/visual/compound/sortable_accordion_sortable_tabs.html b/tests/visual/compound/sortable_accordion_sortable_tabs.html
index c055016b62..02a6c0dec2 100644
--- a/tests/visual/compound/sortable_accordion_sortable_tabs.html
+++ b/tests/visual/compound/sortable_accordion_sortable_tabs.html
@@ -5,7 +5,7 @@
Compound Visual Test : Accordion in Tabs
-
+
diff --git a/tests/visual/compound/tabs_tabs.html b/tests/visual/compound/tabs_tabs.html
index 7398bef3ae..12515a4c5b 100644
--- a/tests/visual/compound/tabs_tabs.html
+++ b/tests/visual/compound/tabs_tabs.html
@@ -5,7 +5,7 @@
Compound Visual Test : Tabs in Tabs
-
+
diff --git a/tests/visual/compound/tabs_tooltips.html b/tests/visual/compound/tabs_tooltips.html
index d8d132a30c..38b85e58b7 100644
--- a/tests/visual/compound/tabs_tooltips.html
+++ b/tests/visual/compound/tabs_tooltips.html
@@ -5,7 +5,7 @@
Compound Visual Test : Tabs in Tabs
-
+
diff --git a/tests/visual/compound/widgets_in_dialog.html b/tests/visual/compound/widgets_in_dialog.html
index 999b67b0f7..b711efa9c1 100644
--- a/tests/visual/compound/widgets_in_dialog.html
+++ b/tests/visual/compound/widgets_in_dialog.html
@@ -5,7 +5,7 @@
Compound Visual Test : All Widgets in Dialog
-
+
diff --git a/tests/visual/dialog/dialog_on_page_with_large_dom.html b/tests/visual/dialog/dialog_on_page_with_large_dom.html
index 2a93071949..c7c1056968 100644
--- a/tests/visual/dialog/dialog_on_page_with_large_dom.html
+++ b/tests/visual/dialog/dialog_on_page_with_large_dom.html
@@ -5,7 +5,7 @@
Dialog Visual Test : Modal Dialog in Large DOM
-
+
diff --git a/tests/visual/effects/effects.all.html b/tests/visual/effects/effects.all.html
index 838e17a3c1..ddc6654376 100644
--- a/tests/visual/effects/effects.all.html
+++ b/tests/visual/effects/effects.all.html
@@ -4,7 +4,7 @@
jQuery UI Effects Test Suite
-
+
diff --git a/tests/visual/effects/effects.scale.html b/tests/visual/effects/effects.scale.html
index 2d35cee18b..845625e2e1 100644
--- a/tests/visual/effects/effects.scale.html
+++ b/tests/visual/effects/effects.scale.html
@@ -4,7 +4,7 @@
jQuery UI Effects Test Suite
-
+
diff --git a/tests/visual/menu/drilldown.html b/tests/visual/menu/drilldown.html
index 838583e88d..a2ae9e88ff 100644
--- a/tests/visual/menu/drilldown.html
+++ b/tests/visual/menu/drilldown.html
@@ -4,7 +4,7 @@
Menu Visual Test: Default
-
+
diff --git a/tests/visual/menu/menu.html b/tests/visual/menu/menu.html
index 80062a4234..50837f43e1 100644
--- a/tests/visual/menu/menu.html
+++ b/tests/visual/menu/menu.html
@@ -4,7 +4,7 @@
Menu Visual Test: Default
-
+
diff --git a/tests/visual/menu/tablemenu.html b/tests/visual/menu/tablemenu.html
index be1d064604..bce64bfb51 100644
--- a/tests/visual/menu/tablemenu.html
+++ b/tests/visual/menu/tablemenu.html
@@ -4,7 +4,7 @@
Menu Visual Test: Default
-
+
diff --git a/tests/visual/position/position.html b/tests/visual/position/position.html
index e28a6ae692..9d29abe284 100644
--- a/tests/visual/position/position.html
+++ b/tests/visual/position/position.html
@@ -5,7 +5,7 @@
Position Visual Test: Default
-
+
diff --git a/tests/visual/position/position_fit.html b/tests/visual/position/position_fit.html
index 73a683dced..78751d3efd 100644
--- a/tests/visual/position/position_fit.html
+++ b/tests/visual/position/position_fit.html
@@ -5,7 +5,7 @@
Position Visual Test: Fit
-
+
diff --git a/tests/visual/position/position_flip.html b/tests/visual/position/position_flip.html
index 766576fde4..7b26f6a9a5 100644
--- a/tests/visual/position/position_flip.html
+++ b/tests/visual/position/position_flip.html
@@ -5,7 +5,7 @@
Position Visual Test: Flip
-
+
diff --git a/tests/visual/position/position_flipfit.html b/tests/visual/position/position_flipfit.html
index edb1adecfd..b5cf82946b 100644
--- a/tests/visual/position/position_flipfit.html
+++ b/tests/visual/position/position_flipfit.html
@@ -5,7 +5,7 @@
Position Visual Test: FlipFit
-
+
diff --git a/tests/visual/position/position_margin.html b/tests/visual/position/position_margin.html
index 1e6608d915..52b8008374 100644
--- a/tests/visual/position/position_margin.html
+++ b/tests/visual/position/position_margin.html
@@ -5,7 +5,7 @@
Position Visual Test: Default
-
+
diff --git a/tests/visual/position/position_within.html b/tests/visual/position/position_within.html
index f348c5e8df..156c82e5dc 100644
--- a/tests/visual/position/position_within.html
+++ b/tests/visual/position/position_within.html
@@ -7,7 +7,7 @@
-
+
diff --git a/tests/visual/theme.html b/tests/visual/theme.html
index d10f2444f3..131cc41d70 100644
--- a/tests/visual/theme.html
+++ b/tests/visual/theme.html
@@ -4,7 +4,7 @@
jQuery UI Example Page
-
+
diff --git a/tests/visual/tooltip/animations.html b/tests/visual/tooltip/animations.html
index b1ffc89146..993fbbd859 100644
--- a/tests/visual/tooltip/animations.html
+++ b/tests/visual/tooltip/animations.html
@@ -4,7 +4,7 @@
Tooltip Visual Test: Default
-
+
diff --git a/tests/visual/tooltip/callout.html b/tests/visual/tooltip/callout.html
index 3a498b2a65..79d8d32bfa 100644
--- a/tests/visual/tooltip/callout.html
+++ b/tests/visual/tooltip/callout.html
@@ -4,7 +4,7 @@
Tooltip Visual Test: Default
-
+
diff --git a/tests/visual/tooltip/tooltip.html b/tests/visual/tooltip/tooltip.html
index 5eb1ab0a78..b282a73b7b 100644
--- a/tests/visual/tooltip/tooltip.html
+++ b/tests/visual/tooltip/tooltip.html
@@ -4,7 +4,7 @@
Tooltip Visual Test: Default
-
+
diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js
index 9871b52d77..dbda2058ed 100644
--- a/ui/jquery.ui.autocomplete.js
+++ b/ui/jquery.ui.autocomplete.js
@@ -184,6 +184,7 @@ $.widget( "ui.autocomplete", {
}
clearTimeout( self.searching );
+ self.cancelSearch = true;
// clicks on the menu (or a button to trigger a search) will cause a blur event
self.closing = setTimeout(function() {
self.close( event );
@@ -373,6 +374,7 @@ $.widget( "ui.autocomplete", {
_search: function( value ) {
this.pending++;
this.element.addClass( "ui-autocomplete-loading" );
+ this.cancelSearch = false;
this.source( { term: value }, this.response );
},
@@ -382,7 +384,7 @@ $.widget( "ui.autocomplete", {
content = this._normalize( content );
}
this._trigger( "response", null, { content: content } );
- if ( !this.options.disabled && content && content.length ) {
+ if ( !this.options.disabled && content && content.length && !this.cancelSearch ) {
this._suggest( content );
this._trigger( "open" );
} else {
diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js
index e09dc5a50e..45ddf8678e 100644
--- a/ui/jquery.ui.datepicker.js
+++ b/ui/jquery.ui.datepicker.js
@@ -799,9 +799,10 @@ $.extend(Datepicker.prototype, {
if (this._datepickerShowing) {
var showAnim = this._get(inst, 'showAnim');
var duration = this._get(inst, 'duration');
+ var self = this;
var postProcess = function() {
$.datepicker._tidyDialog(inst);
- this._curInst = null;
+ self._curInst = null;
};
// DEPRECATED: after BC for 1.8.x $.effects[ showAnim ] is not needed
diff --git a/ui/jquery.ui.droppable.js b/ui/jquery.ui.droppable.js
index 3942c6b8f4..62bba2abad 100644
--- a/ui/jquery.ui.droppable.js
+++ b/ui/jquery.ui.droppable.js
@@ -224,7 +224,7 @@ $.ui.ddmanager = {
if(!this.options) return;
if (!this.options.disabled && this.visible && $.ui.intersect(draggable, this, this.options.tolerance))
- dropped = dropped || this._drop.call(this, event);
+ dropped = this._drop.call(this, event) || dropped;
if (!this.options.disabled && this.visible && this.accept.call(this.element[0],(draggable.currentItem || draggable.element))) {
this.isout = 1; this.isover = 0;
diff --git a/ui/jquery.ui.menu.js b/ui/jquery.ui.menu.js
index bf36a77fe7..4fe859f4ea 100644
--- a/ui/jquery.ui.menu.js
+++ b/ui/jquery.ui.menu.js
@@ -40,16 +40,6 @@ $.widget( "ui.menu", {
id: this.menuId,
role: "menu"
})
- // Prevent focus from sticking to links inside menu after clicking
- // them (focus should always stay on UL during navigation).
- // If the link is clicked, redirect focus to the menu.
- // TODO move to _bind below
- .bind( "mousedown.menu", function( event ) {
- if ( $( event.target).is( "a" ) ) {
- event.preventDefault();
- $( this ).focus( 1 );
- }
- })
// need to catch all clicks on disabled menu
// not possible through _bind
.bind( "click.menu", $.proxy( function( event ) {
@@ -58,6 +48,11 @@ $.widget( "ui.menu", {
}
}, this));
this._bind({
+ // Prevent focus from sticking to links inside menu after clicking
+ // them (focus should always stay on UL during navigation).
+ "mousedown .ui-menu-item > a": function( event ) {
+ event.preventDefault();
+ },
"click .ui-menu-item:has(a)": function( event ) {
event.stopImmediatePropagation();
var target = $( event.currentTarget );
@@ -66,6 +61,8 @@ $.widget( "ui.menu", {
this.focus( event, target );
}
this.select( event );
+ // Redirect focus to the menu.
+ this.element.focus();
},
"mouseover .ui-menu-item": function( event ) {
event.stopImmediatePropagation();
diff --git a/ui/jquery.ui.selectable.js b/ui/jquery.ui.selectable.js
index d7b24d4e39..408771eff7 100644
--- a/ui/jquery.ui.selectable.js
+++ b/ui/jquery.ui.selectable.js
@@ -104,7 +104,7 @@ $.widget("ui.selectable", $.ui.mouse, {
this.selectees.filter('.ui-selected').each(function() {
var selectee = $.data(this, "selectable-item");
selectee.startselected = true;
- if (!event.metaKey) {
+ if (!event.metaKey && !event.ctrlKey) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
selectee.$element.addClass('ui-unselecting');
@@ -119,7 +119,7 @@ $.widget("ui.selectable", $.ui.mouse, {
$(event.target).parents().andSelf().each(function() {
var selectee = $.data(this, "selectable-item");
if (selectee) {
- var doSelect = !event.metaKey || !selectee.$element.hasClass('ui-selected');
+ var doSelect = (!event.metaKey && !event.ctrlKey) || !selectee.$element.hasClass('ui-selected');
selectee.$element
.removeClass(doSelect ? "ui-unselecting" : "ui-selected")
.addClass(doSelect ? "ui-selecting" : "ui-unselecting");
@@ -189,7 +189,7 @@ $.widget("ui.selectable", $.ui.mouse, {
} else {
// UNSELECT
if (selectee.selecting) {
- if (event.metaKey && selectee.startselected) {
+ if ((event.metaKey || event.ctrlKey) && selectee.startselected) {
selectee.$element.removeClass('ui-selecting');
selectee.selecting = false;
selectee.$element.addClass('ui-selected');
@@ -208,7 +208,7 @@ $.widget("ui.selectable", $.ui.mouse, {
}
}
if (selectee.selected) {
- if (!event.metaKey && !selectee.startselected) {
+ if (!event.metaKey && !event.ctrlKey && !selectee.startselected) {
selectee.$element.removeClass('ui-selected');
selectee.selected = false;
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js
index 53cde389e2..4f47a008b0 100644
--- a/ui/jquery.ui.widget.js
+++ b/ui/jquery.ui.widget.js
@@ -374,37 +374,31 @@ $.Widget.prototype = {
},
_trigger: function( type, event, data ) {
- var callback = this.options[ type ],
- args;
+ var prop, orig,
+ callback = this.options[ type ];
+ data = data || {};
event = $.Event( event );
event.type = ( type === this.widgetEventPrefix ?
type :
this.widgetEventPrefix + type ).toLowerCase();
- data = data || {};
+ // the original event may come from any element
+ // so we need to reset the target on the new event
+ event.target = this.element[ 0 ];
// copy original event properties over to the new event
- // this would happen if we could call $.event.fix instead of $.Event
- // but we don't have a way to force an event to be fixed multiple times
- if ( event.originalEvent ) {
- for ( var i = $.event.props.length, prop; i; ) {
- prop = $.event.props[ --i ];
- event[ prop ] = event.originalEvent[ prop ];
+ orig = event.originalEvent;
+ if ( orig ) {
+ for ( prop in orig ) {
+ if ( !( prop in event ) ) {
+ event[ prop ] = orig[ prop ];
+ }
}
}
- // the original event may come from any element
- // so we need to reset the target on the new event
- event.target = this.element[0];
-
this.element.trigger( event, data );
-
- args = $.isArray( data ) ?
- [ event ].concat( data ) :
- [ event, data ];
-
return !( $.isFunction( callback ) &&
- callback.apply( this.element[0], args ) === false ||
+ callback.apply( this.element[0], [ event ].concat( data ) ) === false ||
event.isDefaultPrevented() );
}
};