在HTML标签上绑定事件有两种方式,在HTML标签上写onclick事件,或在<script></script> 内获取标签再执行相应函数,这两种绑定方式在获取事件源对象的操作是不同的 在<script></script>内获取标签的方式,此时this关键字代表当前事件源对象,而在标签上 绑定事件时,此时this关键字不代表事件源对象,代表的是上一级窗口 要获取事件源对象,只能在标签声明时传入this再在函数里进行获取
<body> <h1>JavaScript语言实例--获取事件源对象</h1> <h2 onclick="fun(this)">2级标题1</h2> <h2 id="hid">2级标题2</h2> </body> <script> function fun(ob){ console.log("aaaaaaaaaa"); //console.log(ob); ob.style.color = "green"; } document.getElementById("hid").onclick = function(){ console.log("bbbbbbbbbbb"); //此种事件绑定方式,this就表示当前事件源对象 //console.log(this); this.style.color = "red"; } </script>