我们都知道,事件处理函数是由浏览器来调用,尔浏览器有一个监听机制,是可以判断出事件函数有没有被触发,本篇文章就给大家介绍一下JS操作非IE事件对象的属性,方法。
Cancelable,type,bubbles无用,仅需了解
注意一下上面的亮点,就是在2级事件中嵌套的二级事件,还有就是冒泡与捕获的执行顺序问题,冒泡是从下到上,捕获是从上到下
这里有一个疑问,body节点与document节点有什么不同呢?
在document对象下的属性中可以看到body,document也就是传说中的dom区
现在显示的却是null??
Type无用,只是了解的内容
现在在IE中显示是undefined,在其他浏览器中显示是正常的
在谷歌IE中可以,在火狐中不可以,注意如果是上面的写法,在IE8以下的版本中会出错
很多的情况就是谷歌的兼容性是最好的,通常出现的兼容性问题是火狐和IE之间的差别,只要是在ie中有效的,在谷歌中似乎都是有效的,特别要注意只有是在二级事件中才会出现上面的问题,在一级事件中是没有兼容性问题
点击按钮执行提交,会有默认行为刷新界面
只是了解内容,用到的只是clientX、clientY
封装函数:阻止浏览器的默认行为、阻止冒泡
总结:事件处理函数由浏览器来调用,浏览器器有一个监听机制,判断事件处理函数是不是被触发,一旦事件处理函数被触发,浏览器就会监听到,就会调用该事件处理函数,然后就会给事件处理函数传递一个事件源对象,我们可以主动的在事件处理函数中来接收这个事件源对象。兼容性的封装都是有一个共同点的,就是获取函数的执行上下文,如果是能获取到的话,就说明是兼容的,如果是无法获取,通常情况下,返回的都是undefined,前面的所有的封装兼容性的函数都是这样来做。
注意这里的代码的执行顺序,每次单击的时候是会触发上面事件的发生,如果是按键一点击的时候会一直触发该事件的发生,这是一个怪的现象,手动的控制事件的持续的发生,
相信看了这些案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
相关阅读:
Atas ialah kandungan terperinci Js操作非IE事件对象属性,方法的详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!