如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
关键字来引用被点击的元素。
请建议。
答案 0 :(得分:1)
作为一个库,angularjs执行此规范化,因此不需要自己执行特定于浏览器的代码。它在图书馆内处理。
传递给点击处理程序的事件对象已标准化,并且无论浏览器如何(具有库支持所述浏览器)都具有所述属性