• Javascript事件对象


    1.在W3C标准中,获取event对象方法如下:

    input.onclick=function(evt){
    
        alert(evt);
      }
    

      

    2.IE直接用window.event获取。所以常用如下兼容:

    input.onclick=function(evt){
    
      var e=evt||window.event;
    
        alert(e);
    
     }
    

      

    3.W3C(非IE)事件的button属性

    window.onmouseup=function(evt){
    
      var e=evt||window.event;
    
        alert(e.button);  //012分别表示左中右键
    
     }
    

      PS:学会编写跨浏览器兼容函数。

    4.修改键

    window.onload=function(){
      document.onclick=function(evt){
        alert(getKey(evt));
    }

    function getKey(evt){ var e=evt||window.event; var keys=[]; if(e.shiftKey) keys.push('shift'); if(e.ctrlKey) keys.push('ctrl'); if(e.altKey) keys.push('alt');
        return keys; }

    5.keyCode返回键码

    window.onload=function(){
      document.onkeydown=function(evt){
        alert(evt.keyCode);
    }
    

      PS:如果用keypress返回keyCode,返回Firefox浏览器把所有字符键返回0。

        但Chrome、IE浏览器都支持keypress返回keyCode,还支持大小写。

    6.charCode返回字符编码

    7.target(非IE)、srcElement(IE)返回点击的DOM元素对象。

      return e.target||e.srcElement;
    

    8.事件冒泡

      从内层元素逐渐想顶层冒泡输出。

      

    window.onlaod=function(){
        document.onclick=function(){
            alert('document');
        };
        document.documentElement.onclick=function(){
            alert('html');
        };
        document.body.onclick=function(){
            alert('body');
        };
        documnet.getElementById('box').onclick=function(){
            alert('div');
        };
        document.getElementByTagName('input')[0].onclick=function(evt){
            alert('input');
            var e=evt||window.event;
            e.stopPropagation();   //非IE取消冒泡,若无此句,则会从input输出到docement
         e.cancelBubble=true; //IE取消冒泡 }; };

      

  • 相关阅读:
    Redis中的批量删除数据库中的Key
    Solr中初学Demo
    Solr中Schema.xml中文版
    Eclipse中web项目的默认发布路径改为外部Tomcat中webapp路径
    Java操作XML的工具类
    Java中创建操作文件和文件夹的工具类
    Java中的操作日期的工具类
    Java POI操作Excle工具类
    【转】怎样写一个解释器
    【转】什么是语义学
  • 原文地址:https://www.cnblogs.com/tangzhirong/p/4816846.html
Copyright © 2020-2023  润新知