📄 event-util.js
字号:
var EventUtil = {
}
var events = ['click','mousedown','mouseup','mouseover','mousemove','mouseout','load','unload','abort','error','select','change','submit','reset','focus','blur','resize','scroll'].
concat(['DOMFocusIn','DOMFocusOut','DOMActivate']);
if(document.addEventListener){
EventUtil.addListener = function(el,type,fn,cap){
el.addEventListener(type,fn,cap);
};
EventUtil.removeListener = function(el,type,fn,cap){
el.removeEventListener(type,fn,cap);
};
EventUtil.dispatchEvent = function(el,event){
el.dispatchEvent(event);
};
EventUtil.createEvent = function(type,canBubble,cancelable){
var event = document.createEvent(type);
event.initEvent(type,canBubble,cancelable);
return event;
}
}else{
EventUtil.addListener = function(el,type,fn,cap){
fn.$listener = fn.$listener ||
(fn.$listener = function(){
fn.call(window.event.srcElement,window.event);
});
el.attachEvent('on'+type,fn.$listener,cap);
};
EventUtil.removeListener = function(el,type,fn,cap){
if(fn.$listener){
el.detachEvent('on'+type,fn.$listener,cap);
}
};
EventUtil.dispatchEvent = function(el,event){
if(event.type){
el.fireEvent('on'+event.type,event);
}
};
EventUtil.createEvent = function(type,canBubble,cancelable){
var event = document.createEventObject();
event.type = type;
//event.initEvent(type,canBubble,cancelable);
return event;
}
}
for(var i = 0 ;i<events.length;i++){
var type = events[i];
var stuf = type.substr(0,1).toUpperCase()+type.substr(1)+'Listener';
EventUtil['add'+stuf] = function(element,listener,captrue){
this.addListener(element,type,listener,captrue)
}
EventUtil['remove'+stuf] = function(element,listener,captrue){
this.removeListener(element,type,listener,captrue)
}
}
//var domevents = ['DOMFocusIn','DOMFocusOut','DOMActivate'];
if(!document.implementation || !document.implementation.hasFeature('UIEvents', "2.0")){
EventUtil['addDOMFocusInListener'] = function(element,listener,captrue){this.addListener(element,'focus',listener,captrue)}
EventUtil['removeDOMFocusInListener'] = function(element,listener,captrue){this.removeListener(element,'focus',listener,captrue)}
EventUtil['addDOMFocusOutListener'] = function(element,listener,captrue){this.addListener(element,'blur',listener,captrue)}
EventUtil['removeDOMFocusOutListener'] = function(element,listener,captrue){this.removeListener(element,'blur',listener,captrue)}
EventUtil['addDOMActivateListener'] = function(element,listener,captrue){this.addListener(element,'activate',listener,captrue)}
EventUtil['removeDOMActivateListener'] = function(element,listener,captrue){this.removeListener(element,'activate',listener,captrue)}
}
EventUtil.addDOMLoadListener = function(element,listener){
if(arguments.length == 1){
listener = arguments[0];
element = document;
}else{
element = element || document;
}
if(BrowserInfo.isIE()){
element.attachEvent('onreadystatechange',function(){
if(/loaded|complete/.test(element.readyState)){
listener.apply(element);
}
})
}else if(BrowserInfo.isOpera(9)){
this.addListener(element,'DOMContentLoaded',listener);
}else if(BrowserInfo.isGecko(20020826)){//Mozilla 1.0.1 支持 DOMContentLoaded
this.addListener(element,'DOMContentLoaded',listener);
}else {//alert(element.readyState)
if(element.readyState){
var timer = setInterval(function(){
//alert(document.readyState)
if (/loaded|complete/.test(element.readyState)) {
window.clearInterval(timer);
listener.apply(element); // call the onload handler
}
}, 10);
}else{
if(element == document){
element = window;
}
this.addListener(element,"load",listener);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -