JavaScript 事件绑定浅谈

1.HTML绑定
  即把事件写在html标签的属性里面;属于DOM0级标准
  例:<div οnclick="myFunction()">点击</div>
      <script>
         function myFunction(){
            console.log('这是一个点击事件');
         }
      </script>
  特点:

  1)简单易懂,几乎所有的浏览器都支持;
  2)代码不简洁;效率不高;不符合行为结构样式相分离。

2.事件属性绑定事件函数
  例:<div id="myBtn">点击</div>
  <script>
        document.getElementById('myBtn').οnclick=function(){
            console.log('这是一个点击事件');
        }
  </script>

  特点:
  实现了行为结构样式相分离,便于操作当事对象,function 作为对象的 on××× 属性出现,函数里操作对象,直接用this就能引用当事对象,可方便读取事件对象。

3.addEventListener()方法
  语法:element.addEventListener(event, function, useCapture);
  event:事件,必须,如click;注意: 不要使用 "on" 前缀。
  function:事件触发是指定的函数,必须;事件对象会作为第一个参数传入函数,可以是匿名函数。
  useCapture:布尔值,可选,默认 false 事件句柄在冒泡阶段执行;true  事件句柄在捕获阶段执行;
  
  可添加多个事件,添加的事件不会覆盖已存在的事件
  如:  document.getElementById("myBtn").addEventListener("click", myFunction);
           document.getElementById("myBtn").addEventListener("click", someOtherFunction);
        
    添加多个不同类型事件
  如: document.getElementById("myBtn").addEventListener("mouseover", myFunction);
          document.getElementById("myBtn").addEventListener("click", someOtherFunction);
          document.getElementById("myBtn").addEventListener("mouseout", someOtherFunction);

  使用 removeEventListener() 方法移除由 addEventListener() 方法添加的事件句柄。
  
   IE8 及更早 IE 版本不支持该方法,可以用attachEvent()代替
   语法:element.attachEvent(event, function);
   event:事件,必须,如onclick;注意: 必须加 "on" 前缀。
    function:事件触发是指定的函数,必须;事件对象会作为第一个参数传入函数,可以是匿名函数。
    attachEvent()方法不支持捕获模型,
    detachEvent() 方法移除由attachEvent()方法添加的事件句柄。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值