aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2011-10-20 16:57:47 -0400
committerScott González <scott.gonzalez@gmail.com>2011-10-20 16:57:47 -0400
commita0856efef3c392d413aa6cd9bd084dc601a337c6 (patch)
tree3a1f4a5aeea257fcf0d201f60fe259878e0a3c58
parentc145f1698aa4bfb8b0d1c94e2bfa83399f1de0f3 (diff)
downloadjquery-ui-a0856efef3c392d413aa6cd9bd084dc601a337c6.tar.gz
jquery-ui-a0856efef3c392d413aa6cd9bd084dc601a337c6.zip
Widget: Added window and document properties. Fixes #7801 - Widget: Add document and window properties.
-rw-r--r--ui/jquery.ui.autocomplete.js11
-rw-r--r--ui/jquery.ui.button.js4
-rw-r--r--ui/jquery.ui.dialog.js7
-rw-r--r--ui/jquery.ui.menu.js4
-rw-r--r--ui/jquery.ui.popup.js2
-rw-r--r--ui/jquery.ui.spinner.js4
-rw-r--r--ui/jquery.ui.tooltip.js4
-rw-r--r--ui/jquery.ui.widget.js2
8 files changed, 19 insertions, 19 deletions
diff --git a/ui/jquery.ui.autocomplete.js b/ui/jquery.ui.autocomplete.js
index ab2edfdff..5dda7d970 100644
--- a/ui/jquery.ui.autocomplete.js
+++ b/ui/jquery.ui.autocomplete.js
@@ -47,7 +47,6 @@ $.widget( "ui.autocomplete", {
_create: function() {
var self = this,
- doc = this.element[ 0 ].ownerDocument,
// Some browsers only repeat keydown events, not keypress events,
// so we use the suppressKeyPress flag to determine if we've already
// handled the keydown event. #7269
@@ -197,7 +196,7 @@ $.widget( "ui.autocomplete", {
};
this.menu = $( "<ul></ul>" )
.addClass( "ui-autocomplete" )
- .appendTo( $( this.options.appendTo || "body", doc )[0] )
+ .appendTo( this.document.find( this.options.appendTo || "body" )[0] )
// prevent the close-on-blur in case of a "slow" click on the menu (long mousedown)
.mousedown(function( event ) {
// clicking on the scrollbar causes focus to shift to the body
@@ -207,7 +206,7 @@ $.widget( "ui.autocomplete", {
var menuElement = self.menu.element[ 0 ];
if ( !$( event.target ).closest( ".ui-menu-item" ).length ) {
setTimeout(function() {
- $( document ).one( 'mousedown', function( event ) {
+ self.document.one( 'mousedown', function( event ) {
if ( event.target !== self.element[ 0 ] &&
event.target !== menuElement &&
!$.contains( menuElement, event.target ) ) {
@@ -239,7 +238,7 @@ $.widget( "ui.autocomplete", {
previous = self.previous;
// only trigger when focus was lost (click on menu)
- if ( self.element[0] !== doc.activeElement ) {
+ if ( self.element[0] !== self.document[0].activeElement ) {
self.element.focus();
self.previous = previous;
// #6109 - IE triggers two focus events and the second
@@ -273,7 +272,7 @@ $.widget( "ui.autocomplete", {
// turning off autocomplete prevents the browser from remembering the
// value when navigating through history, so we re-enable autocomplete
// if the page is unloaded before the widget is destroyed. #7790
- this._bind( doc.defaultView, {
+ this._bind( this.window, {
beforeunload: function() {
this.element.removeAttr( "autocomplete" );
}
@@ -297,7 +296,7 @@ $.widget( "ui.autocomplete", {
this._initSource();
}
if ( key === "appendTo" ) {
- this.menu.element.appendTo( $( value || "body", this.element[0].ownerDocument )[0] );
+ this.menu.element.appendTo( this.document.find( value || "body" )[0] );
}
if ( key === "disabled" && value && this.xhr ) {
this.xhr.abort();
diff --git a/ui/jquery.ui.button.js b/ui/jquery.ui.button.js
index 63bd1fc73..20eb2ca89 100644
--- a/ui/jquery.ui.button.js
+++ b/ui/jquery.ui.button.js
@@ -174,7 +174,7 @@ $.widget( "ui.button", {
}
$( this ).addClass( "ui-state-active" );
lastActive = this;
- $( document ).one( "mouseup", function() {
+ self.document.one( "mouseup", function() {
lastActive = null;
});
})
@@ -319,7 +319,7 @@ $.widget( "ui.button", {
return;
}
var buttonElement = this.buttonElement.removeClass( typeClasses ),
- buttonText = $( "<span></span>", this.element[0].ownerDocument )
+ buttonText = $( "<span></span>", this.document[0] )
.addClass( "ui-button-text" )
.html( this.options.label )
.appendTo( buttonElement.empty() )
diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js
index 46320426a..9c9a9b6fc 100644
--- a/ui/jquery.ui.dialog.js
+++ b/ui/jquery.ui.dialog.js
@@ -372,8 +372,7 @@ $.widget("ui.dialog", {
_makeDraggable: function() {
var self = this,
- options = self.options,
- doc = $( document );
+ options = self.options;
function filteredUi( ui ) {
return {
@@ -396,8 +395,8 @@ $.widget("ui.dialog", {
},
stop: function( event, ui ) {
options.position = [
- ui.position.left - doc.scrollLeft(),
- ui.position.top - doc.scrollTop()
+ ui.position.left - self.document.scrollLeft(),
+ ui.position.top - self.document.scrollTop()
];
$( this )
.removeClass( "ui-dialog-dragging" );
diff --git a/ui/jquery.ui.menu.js b/ui/jquery.ui.menu.js
index f2f758d96..bf36a77fe 100644
--- a/ui/jquery.ui.menu.js
+++ b/ui/jquery.ui.menu.js
@@ -85,7 +85,7 @@ $.widget( "ui.menu", {
},
blur: function( event ) {
this._delay( function() {
- if ( ! $.contains( this.element[0], document.activeElement ) ) {
+ if ( ! $.contains( this.element[0], this.document[0].activeElement ) ) {
this.collapseAll( event );
}
}, 0);
@@ -207,7 +207,7 @@ $.widget( "ui.menu", {
}
});
- this._bind( document, {
+ this._bind( this.document, {
click: function( event ) {
if ( !$( event.target ).closest( ".ui-menu" ).length ) {
this.collapseAll( event );
diff --git a/ui/jquery.ui.popup.js b/ui/jquery.ui.popup.js
index 70bf84be0..f6585b761 100644
--- a/ui/jquery.ui.popup.js
+++ b/ui/jquery.ui.popup.js
@@ -187,7 +187,7 @@ $.widget( "ui.popup", {
}
});
- this._bind(document, {
+ this._bind( this.document, {
click: function( event ) {
if ( this.isOpen && !$( event.target ).closest( this.element.add( this.options.trigger ) ).length ) {
this.close( event );
diff --git a/ui/jquery.ui.spinner.js b/ui/jquery.ui.spinner.js
index 7fc291c00..9c554b2df 100644
--- a/ui/jquery.ui.spinner.js
+++ b/ui/jquery.ui.spinner.js
@@ -53,7 +53,7 @@ $.widget( "ui.spinner", {
// turning off autocomplete prevents the browser from remembering the
// value when navigating through history, so we re-enable autocomplete
// if the page is unloaded before the widget is destroyed. #7790
- this._bind( this.element[0].ownerDocument.defaultView, {
+ this._bind( this.window, {
beforeunload: function() {
this.element.removeAttr( "autocomplete" );
}
@@ -112,7 +112,7 @@ $.widget( "ui.spinner", {
"mousedown .ui-spinner-button": function( event ) {
// ensure focus is on (or stays on) the text field
event.preventDefault();
- if ( document.activeElement !== this.element[ 0 ] ) {
+ if ( this.document[0].activeElement !== this.element[ 0 ] ) {
this.element.focus();
}
diff --git a/ui/jquery.ui.tooltip.js b/ui/jquery.ui.tooltip.js
index 2f8d92969..35b6f9b50 100644
--- a/ui/jquery.ui.tooltip.js
+++ b/ui/jquery.ui.tooltip.js
@@ -166,7 +166,7 @@ $.widget( "ui.tooltip", {
// don't close if the element has focus
// this prevents the tooltip from closing if you hover while focused
- if ( !force && document.activeElement === target[0] ) {
+ if ( !force && this.document[0].activeElement === target[0] ) {
return;
}
@@ -200,7 +200,7 @@ $.widget( "ui.tooltip", {
$( "<div>" )
.addClass( "ui-tooltip-content" )
.appendTo( tooltip );
- tooltip.appendTo( document.body );
+ tooltip.appendTo( this.document[0].body );
if ( $.fn.bgiframe ) {
tooltip.bgiframe();
}
diff --git a/ui/jquery.ui.widget.js b/ui/jquery.ui.widget.js
index b78530dca..4b4d41fb1 100644
--- a/ui/jquery.ui.widget.js
+++ b/ui/jquery.ui.widget.js
@@ -195,6 +195,8 @@ $.Widget.prototype = {
if ( element !== this ) {
$.data( element, this.widgetName, this );
this._bind({ remove: "destroy" });
+ this.document = $( element.ownerDocument );
+ this.window = $( this.document[0].defaultView );
}
this._create();