srcElement 和 target 这两个属性都用于在JavaScript事件处理中获取触发事件的元素,但它们源于不同的浏览器实现。
srcElement 是Microsoft Internet Explorer早期版本中引入的属性,用于表示事件的目标元素。
其词源可以拆解为:
src:是 "source" 的缩写,意为"来源"或"源头"
Element:意为"元素"
组合起来就是"源元素",非常直观地表达了其功能——获取事件的源头元素。
target 则是W3C标准中定义的属性,表示触发事件的原始元素。
其词源:
target:原意为"目标"、"靶子"
在事件处理中,它指向事件发生的精确目标对象
两者的主要区别在于浏览器支持情况:srcElement 是IE浏览器的专有属性,而 target 是现代浏览器的标准属性。
尽管功能相似,都是为了获取触发事件的元素,但在非IE浏览器中 srcElement 可能返回 undefined。
随着浏览器发展,IE 10.0及之后版本已与其他浏览器保持一致,支持 target 属性。
因此现代开发中除非需要兼容旧版IE,否则推荐使用标准的 target 属性。
为实现跨浏览器兼容,常见的写法是 var target = event.target || event.srcElement。