120 lines
2.7 KiB
JavaScript
120 lines
2.7 KiB
JavaScript
|
|
module.exports = {
|
|
getPageYOffset() {
|
|
if (document.documentElement.scrollTop)
|
|
return document.documentElement.scrollTop;
|
|
else
|
|
return document.body.scrollTop;
|
|
},
|
|
|
|
getPageXOffset() {
|
|
if (document.documentElement.scrollLeft)
|
|
return document.documentElement.scrollLeft;
|
|
else
|
|
return document.body.scrollLeft;
|
|
},
|
|
|
|
getInnerHeight() {
|
|
if (document.documentElement.clientHeight)
|
|
return document.documentElement.clientHeight;
|
|
else
|
|
return document.body.clientHeight;
|
|
},
|
|
|
|
getInnerWidth() {
|
|
if (document.documentElement.clientWidth)
|
|
return document.documentElement.clientWidth;
|
|
else
|
|
return document.body.clientWidth;
|
|
},
|
|
|
|
createRadio(radioName) {
|
|
var radio;
|
|
|
|
try {
|
|
radio = document.createElement('<input type="radio" name="' + radioName + '">');
|
|
} catch (e) {
|
|
radio = document.createElement('input');
|
|
radio.type = 'radio';
|
|
radio.name = radioName;
|
|
}
|
|
|
|
return radio;
|
|
},
|
|
|
|
setInputTypeNumber(input) {
|
|
input.type = 'text';
|
|
}
|
|
};
|
|
|
|
if (!Function.bind) {
|
|
Function.prototype.bind = function() {
|
|
var bindFunc = this;
|
|
var bindThis = arguments[0];
|
|
var bindArgs = arguments;
|
|
|
|
var IE_bind = function() {
|
|
var args = new Array();
|
|
|
|
for (var i = 1; i < bindArgs.length; i++)
|
|
args.push(bindArgs[i]);
|
|
for (var i = 0; i < arguments.length; i++)
|
|
args.push(arguments[i]);
|
|
|
|
bindFunc.apply(bindThis, args);
|
|
}
|
|
|
|
return IE_bind;
|
|
}
|
|
}
|
|
|
|
// attachEvent -> addEventListener
|
|
|
|
if (window.attachEvent && !window.addEventListener) {
|
|
function IE_addEventListener(signal, func, capture) {
|
|
var obj = this;
|
|
|
|
func.IE_eventHandler = function(event) {
|
|
event.target = event.srcElement;
|
|
event.layerY = event.clientY;
|
|
event.layerX = event.clientX;
|
|
event.pageX = event.offsetX;
|
|
event.pageY = event.offsetY;
|
|
event.stopPropagation = function() {
|
|
this.cancelBubble = true;
|
|
}
|
|
|
|
func.call(obj, event);
|
|
}
|
|
|
|
this.attachEvent('on' + signal, func.IE_eventHandler);
|
|
}
|
|
|
|
function IE_removeEventListener(signal, func, capture) {
|
|
this.detachEvent('on' + signal, func.IE_eventHandler);
|
|
}
|
|
|
|
window.addEventListener = IE_addEventListener;
|
|
window.removeEventListener = IE_removeEventListener;
|
|
document.addEventListener = IE_addEventListener;
|
|
document.removeEventListener = IE_removeEventListener;
|
|
|
|
var IE_createElement = document.createElement;
|
|
|
|
document.createElement = function(tagName) {
|
|
var node = IE_createElement(tagName);
|
|
node.addEventListener = IE_addEventListener;
|
|
node.removeEventListener = IE_removeEventListener;
|
|
return node;
|
|
}
|
|
}
|
|
|
|
// ActiveXObject ('Microsoft.XMLHTTP') -> XMLHttpRequest
|
|
|
|
if (!window.XMLHttpRequest && window.ActiveXObject) {
|
|
function XMLHttpRequest() {
|
|
return new ActiveXObject('Microsoft.XMLHTTP');
|
|
}
|
|
}
|
|
|