zoukankan      html  css  js  c++  java
  • 跨浏览器的事件处理程序(javascript高级程序设计第二版第十二章)

    var EventUtil={ //跨浏览器处理程序---创建方法
    addHandler:function(element,type,handler){
    if(element.addEventListener){
    element.addEventListneter(type,handler,false);
    }else if(element.attachEvent){
    element.attachEvent("on"+type,handler);
    }else{
    element["on"+type]=handler;
    }
    }
    removeHandler:function(element,type,handler){ //跨浏览器处理程序---删除方法
    if(element.removeEventListener){
    element.removeEventListneter(type,handler,false);
    }else if(element.detachEvent){
    element.detachEvent("on"+type,handler);
    }else{
    element["on"+type]=handler;
    }
    }
    getEvent:function(event){ //跨浏览器事件对象---返回event对象的引用
    return event?event:window.event;
    }
    getTarget:function(event){ //跨浏览器事件对象---返回事件的目标
    return event.target||event.srcElement;
    }
    preventDefault:function(event){ //跨浏览器事件对象---取消默认事件
    if(event.preventDefault){
    event.preventDefault();
    }else{
    event.returnValue=false;
    }
    }
    stoppropagation:function(event){ //跨浏览器事件对象---阻止事件流
    if(event.stoppropagation){
    event.stoppropagation();
    }else{
    event.canceBubble=false;
    }
    }
    getRelatedTarget:function(event){ //跨浏览器获取相关元素
    if(event.relatedTarget){
    return event.relatedTarget;
    }else if(event.toElement){
    return envent.toElement;
    }else if(event.fromElement){
    return event.fromElement;
    }else{
    return null;
    }
    }
    getButton:function(event){ //鼠标事件的button属性检测
    if(document.implementation.hasFeature("MouseEvent","2.0")){
    return event.button;
    }else{
    switch(event.button){
    case 0:
    case 1:
    case 3:
    case 5:
    case 7:
    return 0;
    case 2:
    case 6:
    return 2
    case 4:
    return 1
    }
    }
    }
    getCharCode:function(event){ //跨浏览器字符编码---charCode属性检测
    if(typeof event,charCode=="number"){
    return event.charCode;
    }else{
    return event.keyCode;
    }
    }
    }

  • 相关阅读:
    多线程
    JavaSE
    SpringBoot是什么,可以做什么?
    SSM框架中如何简便上传文件表单
    SQL语句全解,非常棒!
    关于HttpSession 和 Hibernate框架中 session异同点的简单解析
    关于Javascript中页面动态钟表的简单实现
    Java 面向对象 知识点基础浅谈
    Eclipse无法正常启动,弹出对话框内容为 A Java Runtime...
    关于Java中面向对象章节、IO 流中的重点基础知识。
  • 原文地址:https://www.cnblogs.com/peng14/p/2769277.html
Copyright © 2011-2022 走看看