当前元素>>>angularjs 获取当前元素$event.target及 jQuery中event.target和this的区别

AngularJs如何获取代表当前元素的DOM对象获取当前元素$event.target

1.<div  ng-click="box($event)" >点击</div>  

function box($event){

  var this=$event.target;//拿到当前dom标签

}

2. jQuery中event.target和this的区别

this是Javascript语言的一个关键字。 
this代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。 
this和event.target的区别:

A.js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远是直接接受事件的目标DOM元素;

B.this和event.target都是dom对象,如果要使用jquey中的方法可以将他们转换为jquery对象:(this)(event.target);

C.this事件冒泡,动态变化。先触发内部事件,由内到外的执行:

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>
======>>>执行结果:
testa
testdiv

D.event.target代表的是触发事件的dom对象,是静态不变的

    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>
======>>>执行结果:
A
A
A
posted @ 2018-01-16 15:37  Yogic  阅读(742)  评论(0编辑  收藏  举报