事件

154 阅读2分钟

事件处理函数和事件源

事件源  谁触发这个事件谁就是事件源

this 给谁绑定事件 谁就是this

对象:1 内置对象  Date String Array Math  Boolean Number Regexp Global

          2 DOM对象

          3 自定义对象

   

  var obj={

   name:"zs";

   age:18}   \\此处dom为自定义对象


绑定两次点击事件

addEventListener(添加事件监听 给同一个元素添加多个相同的事件监听)

(三个参数 第一个参数 事件类型 第二个参数 事件处理函数 function 第三个参数 布尔类型 如果是 false表示事件冒泡 如果是true 事件捕获)

onclick (事件绑定相同事件会覆盖)

oWrapper.addEventListener("click",function( console.log(1)){

},false)   

oWrapper.addEventListener("click",function( console.log(2)){

},false)

 \\添加点击事件的事件监听 

事件流  (事件处理流向)

false 事件冒泡 执行顺序  从内向外执行

true  事件捕获 执行顺序 从外向内执行

对同一个元素 同时进行捕获和冒泡 先执行事件捕获 再执行事件冒泡

阻止事件冒泡  e.stopPropagation();

阻止浏览器的默认行为 1   e.preventDefault();

                                   2   return  false

类数组属性 只有length属性 没有数组下自带的方法

动态生成的元素不能直接绑定事件 如果需要给动态生成的元素绑定事件 需要绑定给一个已存在的父元素上(事件的委托)

事件委托的原理是事件冒泡

页面加载后执行for循环 给已有的元素绑定事件

但是 事件需要人为触发 后生成的元素并没有绑定过事件

动态生成的元素不能直接绑定事件