1
0
mirror of synced 2025-02-04 14:19:23 +03:00

Keep a cached reference to jQueryfied document

This commit is contained in:
Jean Boussier 2012-09-12 14:50:17 -04:00
parent 720bdb8c4f
commit 3387853d9c

View File

@ -40,7 +40,8 @@
return; return;
} }
var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer, lastMousePosition; var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer,
lastMousePosition, $document;
KEY = { KEY = {
TAB: 9, TAB: 9,
@ -90,6 +91,8 @@
} }
}; };
$document = $(document);
nextUid=(function() { var counter=1; return function() { return counter++; }; }()); nextUid=(function() { var counter=1; return function() { return counter++; }; }());
function indexOf(value, array) { function indexOf(value, array) {
@ -162,7 +165,7 @@
}); });
} }
$(document).delegate("body", "mousemove", function (e) { $document.delegate("body", "mousemove", function (e) {
lastMousePosition = {x: e.pageX, y: e.pageY}; lastMousePosition = {x: e.pageX, y: e.pageY};
}); });
@ -493,16 +496,16 @@
* *
* also takes care of clicks on label tags that point to the source element * also takes care of clicks on label tags that point to the source element
*/ */
$(document).ready(function () { $document.ready(function () {
$(document).delegate("body", "mousedown touchend", function (e) { $document.delegate("body", "mousedown touchend", function (e) {
var target = $(e.target).closest("div.select2-container").get(0), attr; var target = $(e.target).closest("div.select2-container").get(0), attr;
if (target) { if (target) {
$(document).find("div.select2-container-active").each(function () { $document.find("div.select2-container-active").each(function () {
if (this !== target) $(this).data("select2").blur(); if (this !== target) $(this).data("select2").blur();
}); });
} else { } else {
target = $(e.target).closest("div.select2-drop").get(0); target = $(e.target).closest("div.select2-drop").get(0);
$(document).find("div.select2-drop-active").each(function () { $document.find("div.select2-drop-active").each(function () {
if (this !== target) $(this).data("select2").blur(); if (this !== target) $(this).data("select2").blur();
}); });
} }