event.srcElement与event.target的区别

event.srcElementevent.target两者作用相同,都是指向触发事件的元素,包含了该元素的各种属性。IE浏览器支持srcElement,而firefox支持target,解决兼容的方法

1
var eve = event.srcElement ? event.srcElement : event.target;

this 与 event.srcElement

1
2
3
4
5
<input type="text" onblur="alert(this.value)"/> // 合法
<!-- fuction method() {
alert(this.value);
} -->
<input type="text" onblur="method()"/> // 非法,method() 是被响应函数调用的函数。

解决方法如下

1
2
3
4
<!-- fuction method(btn) {
alert(btn.value);
} -->
<input type="text" onblur="method(this)"/>

或者

1
2
3
4
<!-- fuction method() {
alert(window.event.srcElement.value);
} -->
<input type="text" onblur="method()"/>