zoukankan      html  css  js  c++  java
  • javascript处理事件的一些兼容写法

    绑定事件

    01.var addEvent = function( obj, type, fn ) {
    02.    if (obj.addEventListener)
    03.        obj.addEventListener( type, fn, false );
    04.    else if (obj.attachEvent) {
    05.        obj["e"+type+fn] = fn;
    06.        obj.attachEvent( "on"+type, function() {
    07.            obj["e"+type+fn]();
    08.        } );
    09.    }
    10.};

    另一个实现

    01.var addEvent = (function () { 
    02.    if (document.addEventListener) { 
    03.        return function (el, type, fn) { 
    04.            el.addEventListener(type, fn, false); 
    05.        }; 
    06.    } else
    07.        return function (el, type, fn) { 
    08.            el.attachEvent('on' + type, function () { 
    09.                return fn.call(el, window.event); 
    10.            }); 
    11.        
    12.    
    13.})();

    移除事件

    1.var removeEvent = function(obj, type, fn) {
    2.    if (obj.removeEventListener)
    3.        obj.removeEventListener( type, fn, false );
    4.    else if (obj.detachEvent) {
    5.        obj.detachEvent( "on"+type, obj["e"+type+fn] );
    6.        obj["e"+type+fn] = null;
    7.    }
    8.}

    加载事件与脚本

    01.var loadEvent = function(func) {
    02.    var oldonload = window.onload;
    03.    if (typeof window.onload != 'function') {
    04.        window.onload = func;
    05.    }else {
    06.        window.onload = function() {
    07.            oldonload();
    08.            func();
    09.        }
    10.    }
    11.}

    阻止事件

    01.var cancelEvent = function(event) {
    02.    event = event||window.event
    03.    if (event.preventDefault) {
    04.        event.preventDefault(  );
    05.        event.stopPropagation(  );
    06.    } else {
    07.        event.returnValue = false;
    08.        event.cancelBubble = true;
    09.    }
    10.}

    取得事件源对象

    相当于Prototype.js框架的Event.element(e)

    1.var getTarget = function(event){
    2.    event = event || window.event;
    3.    var obj = event.srcElement ? event.srcElement : event.target;
    4.    return obj
  • 相关阅读:
    Leetcode 191.位1的个数 By Python
    反向传播的推导
    Leetcode 268.缺失数字 By Python
    Leetcode 326.3的幂 By Python
    Leetcode 28.实现strStr() By Python
    Leetcode 7.反转整数 By Python
    Leetcode 125.验证回文串 By Python
    Leetcode 1.两数之和 By Python
    Hdoj 1008.Elevator 题解
    TZOJ 车辆拥挤相互往里走
  • 原文地址:https://www.cnblogs.com/luluping/p/1530600.html
Copyright © 2011-2022 走看看