1.this是事件冒泡,動態變化。先觸發內部事件,由內到外的執行。
<script> function testdiv(val){ console.log(val.id); } function testa(val){ console.log(val.id); } </script> <body> <div onclick="testdiv(this)" id="testdiv"> <a href="#" onclick="testa(this)" id="testa">click me</a> </div> </body>
運行結果
2.event.target代表的是觸發事件的dom對象,是靜態不變的。
<script> function testdiv(){ console.log(event.target.nodeName); } function testa(){ console.log(event.target.nodeName); } function testbody(){ console.log(event.target.nodeName); } </script> <body onclick="testbody()"> <div onclick="testdiv()" id="testdiv"> <a href="#" onclick="testa()" id="testa">click me</a> </div> </body>
運行結果
總結:兩者都代表dom對象,如果需要調用jquery的方法可以這樣$(this),$(event.target)。