zoukankan      html  css  js  c++  java
  • 事件绑定3

    获取事件中那个主对象旁边的离得最近相关对象
    w3c标准

    addEvent(window,'load',function()
    {
        var spanDom=document.getElementById('box');
        
        addEvent(spanDom,'mouseover',function(e)
        {
            alert(e.relatedTarget);
        }
        );
    }
    
    );

    ie标准的方法

    ie标准的相关对象,鼠标移入mouseover 必须对应fromElement()鼠标移出mouseout 必须对应toElement()

    addEvent(window,'load',function()
    {
        var spanDom=document.getElementById('box');
        
        addEvent(spanDom,'mouseout',function(e)
        {
            alert(window.event.toElement);
        }
        );
    }
    
    );

    两款浏览器兼容性解决

    //两款浏览器兼容性解决
    function getRelatedElement(e){
        
        var e=e.relatedTarget||window.event;
        if(e.srcElement)
        {
            if(e.type=='mouseover')
            return e.fromElement;
            if(e.type=='mouseout')
            {
               return e.toElement; 
            }
            
            
        }
        else if(e.relatedTarget)
        {
            return e.relatedTarget;
        }
        
    }

    用传统方式阻止浏览器默认行为

    addEvent(window,'load',function()
    {
        var a=document.getElementsByTagName('a')[0];
        a.onclick=function(){
            alert('qwe');
            return false;
            };
        }
    );

    w3c阻止默认行为

    addEvent(window,'load',function()
    {
        var a=document.getElementsByTagName('a')[0];
       addEvent(a,'click',function(e){
           
         e.preventDefault();
         alert('qaaa');
           
       });
        
        }
    );

    阻止默认行为的兼容

    //阻止默认行为的兼容
    function preventDft(e)
    {
        var e=e||window.event;
        if(e.preventDefault)
          e.preventDefault();
          else 
          e.returnValue=false;
    }

    上下文菜单事件

    addEvent(window,'load',function()
    {
        var t=document.getElementsByTagName('textarea')[0];
       addEvent(t,'contextmenu',function(e){
           preventDft(e);
           
           var menu=document.getElementById('menu');
           menu.style.display='block';
           menu.style.left=e.clientX+'px';
          menu.style.top=e.clientY+'px'; 
           
           
         });
         }
    );

    卸载前事件,关于离开当前页面的事件

    addEvent(window,'beforeunload',function(e)
    {
        preventDft();
    
    });

    关于鼠标滚轮事件

    //对于非火狐浏览器
    addEvent(document,'mousewheel',function(e)
    {
        alert(e.wheelDelta);//滚轮滚动度数
    
    });
    //对于火狐浏览器
    
    addEvent(document,'DOMMouseScroll',function(e)
    {
        alert(e.detail);//滚轮滚动度数
    
    });

    DOMContentLoaded readystatechange两个事件关于加载性能

  • 相关阅读:
    伟东云学堂—几何画板学习
    京北鲤鱼----创客教育
    几何画板学习网站
    快乐的搬运工
    少儿编程网
    科技学堂 Arduino轻松学
    跟张老师学硬件arduino板
    科技学堂 Arduino传感器入门
    巧办网
    项目:git+gitlab+jenkins+ansible上线网站
  • 原文地址:https://www.cnblogs.com/liyu2012/p/5475554.html
Copyright © 2011-2022 走看看