Improve performance on text measuring
Signed-off-by: Igor Vaynberg <igor.vaynberg@gmail.com>
This commit is contained in:
parent
0ff41ca512
commit
65eb7c3404
43
select2.js
43
select2.js
@ -40,7 +40,7 @@
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid;
|
var KEY, AbstractSelect2, SingleSelect2, MultiSelect2, nextUid, sizer;
|
||||||
|
|
||||||
KEY = {
|
KEY = {
|
||||||
TAB: 9,
|
TAB: 9,
|
||||||
@ -202,26 +202,25 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
function measureTextWidth(e) {
|
function measureTextWidth(e) {
|
||||||
var sizer, width,
|
var style = e.currentStyle || window.getComputedStyle(e, null);
|
||||||
style = e.currentStyle || window.getComputedStyle(e, null);
|
if (!sizer){
|
||||||
sizer = $("<div></div>").css({
|
sizer = $("<div></div>").css({
|
||||||
position: "absolute",
|
position: "absolute",
|
||||||
left: "-1000px",
|
left: "-1000px",
|
||||||
top: "-1000px",
|
top: "-1000px",
|
||||||
display: "none",
|
display: "none",
|
||||||
fontSize: style.fontSize,
|
fontSize: style.fontSize,
|
||||||
fontFamily: style.fontFamily,
|
fontFamily: style.fontFamily,
|
||||||
fontStyle: style.fontStyle,
|
fontStyle: style.fontStyle,
|
||||||
fontWeight: style.fontWeight,
|
fontWeight: style.fontWeight,
|
||||||
letterSpacing: style.letterSpacing,
|
letterSpacing: style.letterSpacing,
|
||||||
textTransform: style.textTransform,
|
textTransform: style.textTransform,
|
||||||
whiteSpace: "nowrap"
|
whiteSpace: "nowrap"
|
||||||
});
|
});
|
||||||
sizer.text(e.val());
|
$("body").append(sizer);
|
||||||
$("body").append(sizer);
|
}
|
||||||
width = sizer.width();
|
sizer.text(e.val());
|
||||||
sizer.remove();
|
return sizer.width();
|
||||||
return width;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -478,7 +477,7 @@
|
|||||||
select2.opts.element
|
select2.opts.element
|
||||||
.removeData("select2")
|
.removeData("select2")
|
||||||
.unbind(".select2")
|
.unbind(".select2")
|
||||||
.show();
|
.show();
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user