卡兰尼克
2016-12-16 13:14
跨浏览器的用法里面
不太理解如果dom0级可以兼容所有浏览器为什么还要那么费事用if扯出二级和I:E事件处理程序的内容呢
只有DOM2级可以为一个目标添加多个事件。IE是考虑兼容问题。
dom0级事件处理,也就是在html里标签属性中引用了js函数(onclick="exampleFunction()"),如果此时js中的函数名字改变为"add()",那么我们就要找到html中使用了该函数的地方进行修改,通常一个大型复杂的网页html代码量很多,找到并修改它们,很不现实。此时dom对象概念的用处就体现出来了,我们获取到html中的标签元素(通过 class id name 标签名等),此时在js代码里在根据获取到的对象进行增删改查事件,那么就容易的多,只需要知道对象的标识符就行,这样对团队协作,功能划分,模块划分有很大的好处,甚至你只用写html的表示层,而复杂的运算或效果控制交给js代码来完成,这也是解耦思想的体现。
当指定多个的内联事件时,它之前所指定的内联事件会被覆盖掉。例子:多个onclick事件,只有最后一个生效。
DOM事件探秘
99544 学习 · 1197 问题
相似问题