<script>
function btnClick3() {
alert(this.value);//在事件响应函数调用的函数里就不能通过this来获得事件对象了
}
function btnClick4(btn) {
alert(btn.value);//在事件响应函数中,将this作为参数传递过来就可以了
}
function btnClick5() {
alert(event.srcElement.value);//this和event.srcElement的语义是不一样的,this就是表示当前监听事件的这个对象,event.srcElement是引发事件的对象
}
</script>
事件中的this,除了可以使用event.srcElement在事件响应函数中,this表示发生事件的控件。只有在事件响应函数才能使用this获得发生事件的控件中,在事件响应函数调用的函数中不能使用,如果要使用则要将this传递给函数或者使用event.srcElement。<br />
<input type="button" value="click1" onclick="alert(event.srcElement.value)" />
<input type="button" value="click2" onclick="alert(this.value)" /><br />
<input type="button" value="click3" onclick="btnClick3()" />
<input type="button" value="click4" onclick="btnClick4(this)" />
<input type="button" value="click5" onclick="btnClick5()" />
以上分别弹出 click1 click2 undefined click4 click5