fineui是帆软报表和BI产品线所使用的前端框架。
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
// 修复ie9下sort方法的bug
|
|
|
|
// IE的sort 需要显示声明返回-1, 0, 1三种比较结果才可正常工作,而Chrome, Firefox中可以直接返回true, false等
|
|
|
|
// BI-36544 sort提供的参数就可以自定义返回值,不需要特别控制。这边使用冒泡相较于快排可能慢了点。
|
|
|
|
// 这边先将webkit的限制去掉
|
|
|
|
!function (window) {
|
|
|
|
var ua = window.navigator.userAgent.toLowerCase(),
|
|
|
|
reg = /msie/;
|
|
|
|
if (reg.test(ua)) {
|
|
|
|
var _sort = Array.prototype.sort;
|
|
|
|
Array.prototype.sort = function (fn) {
|
|
|
|
if (!!fn && typeof fn === "function") {
|
|
|
|
if (this.length < 2) {
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
var i = 0, j = i + 1, l = this.length, tmp, r = false, t = 0;
|
|
|
|
for (; i < l; i++) {
|
|
|
|
for (j = i + 1; j < l; j++) {
|
|
|
|
t = fn.call(this, this[i], this[j]);
|
|
|
|
r = (typeof t === "number" ? t :
|
|
|
|
t ? 1 : 0) > 0;
|
|
|
|
if (r === true) {
|
|
|
|
tmp = this[i];
|
|
|
|
this[i] = this[j];
|
|
|
|
this[j] = tmp;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return this;
|
|
|
|
}
|
|
|
|
return _sort.call(this);
|
|
|
|
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}(window);
|