Angularjs在ng-click函数中访问此元素

时间:2014-08-12 08:36:36

标签: javascript jquery angularjs this

this answer中所述,我们需要将$ event对象传递给ng-click函数,并使用

访问目标元素
$scope.setMaster = function(obj, $event){
    console.log($event.target);
}

虽然event.target不是跨浏览器属性。为了解决这个问题,quirksmode提出了以下建议

function doSomething(e) {
    var targ;
    if (!e) var e = window.event;
    if (e.target) targ = e.target;
    else if (e.srcElement) targ = e.srcElement;
    if (targ.nodeType == 3) // defeat Safari bug
        targ = targ.parentNode;
}

还有其他/更好的方法来获取目标元素吗?就像我们使用DOM / jQuery方法绑定一样,我们可以使用this关键字来引用被点击的元素。

请建议。

1 个答案:

答案 0 :(得分:1)

作为一个库,angularjs执行此规范化,因此不需要自己执行特定于浏览器的代码。它在图书馆内处理。

传递给点击处理程序的事件对象已标准化,并且无论浏览器如何(具有库支持所述浏览器)都具有所述属性