1.function(e) :e是事件源对象1
ie 8、7、5不支持用函数e来获取事件源对象的写法;
所以我们要解决兼容问题:用event解决ie兼容问题:(但是event不支持一些ie低版本和一些谷歌高版本):
事件流:从页面中接收事件的顺序
事件冒泡:无论绑定哪种绑定方式,都会触发事件冒泡;
当一个元素接收到事件的时候会把他接收到的事件传给自己的父级,一直到window:
阻止事件冒泡
非IE下:event.stopPropagation();这个方法在ie 8 7 5中不支持;
IE下:event.cancelBubble=true;这个方法在ie中生效,且在谷歌中也是可以生效的;推荐使用;
当冒泡事件和捕获事件同时存在时,是优先执行捕获事件的;
捕获型事件传播:
取消绑定的事件:
a链接无法发生点击事件,因为a链接本身有默认的跳转功能;
那么我们怎么解决a无法点击的行为:
第一种方法:在a链接里操作:
第二种方法(在a链接里操作):
第三种方法(用js的方法):prevent
但是在第三种方法中 只能支持谷歌浏览器,不支持ie浏览器;
那么我们怎么解决兼容问题:在函数后面加上 return false;就可以兼容了;但是在冒泡事件中是无法阻止的;
在原生js中,return false 不可以组织事件的冒泡和捕获;
取消鼠标右击的默认行为:.oncontextmenu