js获取事件源及触发该事件的对象

JavaScript034

js获取事件源及触发该事件的对象,第1张

某Html元素有onclick方法:onclick='return

myfunction(event)'

复制代码

代码如下:

function

myfunction(event)

{

event

=

event

?

event

:

window.event

var

obj

=

event.srcElement

?

event.srcElement

:

event.target

//这时obj就是触发事件的对象,可以使用它的各个属性

//还可以将obj转换成jquery对象,方便选用其他元素

var

$obj

=

$(obj)

alert($obj.parent().attr("href"))

}

angularjs中的this与$scope的作用基本一样。

所以,并不能像在jq或者js中那样传递。

得想其它办法。

如果是循环,如果考虑把$index传递到控制器中去,模版中每个循环加个变量:"test{{$index}}",然后控制器中通过控制test+$index这个变量的值来达到控制对应dom元素的目的。

在给标签绑定事件时在回调事件里有一个event参数,可以通过event.target获取当前对象,在处理函数里把当前对象当做参数传递过去。如:

//绑定事件

$('.list').click(function(event){

    var ele=event.target

    deal(ele)

})

//处理函数

function deal(obj){

    

}

只是举一个例子,如果有错误,请指出。