Skip to content

Commit

Permalink
Mouse: Optimize the cancel locator, works around a bug where .add(eve…
Browse files Browse the repository at this point in the history
…nt.target) in IE8 can take a long time when there are multiple siblings. Fixes #7118 - IE Bug Large ComboBox (Dialog)
  • Loading branch information
Jay Merrifield authored and scottgonzalez committed May 27, 2011
1 parent e34dbfe commit 09e88d6
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion ui/jquery.ui.mouse.js
Expand Up @@ -58,7 +58,7 @@ $.widget("ui.mouse", {

var self = this,
btnIsLeft = (event.which == 1),
elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().add(event.target).filter(this.options.cancel).length : false);
elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).closest(this.options.cancel).length : false);

This comment has been minimized.

Copy link
@zawaideh

zawaideh Aug 4, 2011

This change is causing an issue with jquery.ui.resizable

If the resizable container has a disabled input with text in it, clicking on the text is cancelled, which results in an error on IE8.

The issue seems to come form $(event.target).parents().length being zero, while $(event.target.closest(this.options.cancel) returning an error on IE8.

I suggest reverting it to the original or changing this to:
elIsCancel = (typeof this.options.cancel == "string" ? $(event.target).parents().length && $(event.target).closest(this.options.cancel).length : false);

if (!btnIsLeft || elIsCancel || !this._mouseCapture(event)) {
return true;
}
Expand Down

0 comments on commit 09e88d6

Please sign in to comment.