为了账号安全,请及时绑定邮箱和手机立即绑定
  • 事件处理程序:
    查看全部
  • 事件流:
    查看全部
    0 采集 收起 来源:[DOM] 事件冒泡

    2015-11-26

  • 兼容DOM0级click事件: var EventUtil = { addHandler:function (elm,type,addHandler){ if(elm.addEventListener){ elm.addEventListener(type,addHandler, false); } else if (elm.attachEvent){ elm.attachEvent('on'+type,addHandler); } else { elm['on'+type]=addHandler; } }, removeEvent:function (elm,type,addHandler){ if(elm.removeEventListener){ elm.removeEventListener(type,addHandler, false); } else if (elm.detachEvent){ elm.detachEvent('on'+type,addHandler); } else { elm['on'+type]=null; } } }; //调用添加click函数 EventUtil.addHandler(elm,'click',test); //删除click事件 EventUtil.removeEvent(elm,'click',test);
    查看全部
  • 事件对象
    查看全部
  • 阻止事件默认行为: preventDefault();
    查看全部
  • 阻止事件冒泡: stopPropagation();
    查看全部
  • DOM 2级事件: 定义了两个方法,用于处理指定和删除事件的处理程序的操作 addEventListener(),removeEventListener()
    查看全部
  • DOM 0级事件: 把一个函数赋值给一个事件的处理程序属性
    查看全部
  • HTML事件缺点:HTML和JS代码紧密耦合
    查看全部
  • eventUtil.addHandler(go,'click',function(e){ //e作为函数参数在js中默认为event的缩写,所以必须将e作为参数在此传递给函数,否则event的属性没有改变,方法也得不到调用 e=eventUtil.getEvent(e); alert(eventUtil.getElement(e).nodeName); eventUtil.preventDefault(e); eventUtil.stopPropagation(e); });
    查看全部
  • getEvent:function(event){ //非IE:event IE:window.event return event?event:window.event; }, getType:function(event){ return event.type; //非IE与IE相同 }, getElement:function(event){ //非IE:event.target IE:event.srcElement return event.target || event.srcElement; }, preventDefault:function(event){ //判断对象方法是否存在时,要将方法当做属性来判断[函数名后不加小括号:if(对象.方法函数)],很多方法没有返回值,即使有返回值也不一定是布尔值,当if(方法函数())时会出现不可预料的结果 if(event.preventDefault){ event.preventDefault(); //非IE方法处理 }else{ event.returnValue=false; //IE属性处理 } }, stopPropagation:function(event){ if(event.stopPropagation){ event.stopPropagation(); //非IE方法处理 }else{ event.cancelBubble=true; //IE属性处理 } }
    查看全部
  • 键盘事件
    查看全部
  • keycode
    查看全部
  • keydown keypress
    查看全部
  • var eventUtil={ // 添加句柄 ////type==触发的元素事件,此处的时间名最好没有on前缀; handler==触发事件时调用函数 addHandler:function(element,type,handler){ if(element.addEventListener){ //能力检测 element.addEventListener(type,handler,false); }else if(element.attachEvent){ element.attachEvent('on'+type,handler); //IE中attachEvent()事件名都要有on前缀 }else{ element['on'+type]=handler; //element.onclick==element[‘onclick’] } }, } 非IE addEventListener removeEventListener (追加事件不需要on) IE(opera) attachEvent detachEvent(追加事件需要on),attachEvent只有两个参数
    查看全部

举报

0/150
提交
取消
课程须知
1.你一定对HTML+CSS比较熟悉; 2.掌握一定的JS基础知识,尤其是函数封装、调用等知识。
老师告诉你能学到什么?
DOM事件具体相关知识,DOM事件的使用方法及应用!

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!