dom對象中的this和event.target區別


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)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM