如 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 方法绑定(bind)一样,我们可以使用 this
关键字来引用单击的元素。
请提出建议。
最佳答案
作为一个库,AngularJS 会进行这种规范化,因此无需我们自己执行浏览器特定的代码。它在库内处理。
传递给点击处理程序的事件对象已标准化,并且无论浏览器如何,都将具有上述属性(假定库支持所述浏览器)
关于javascript - Angularjs 在 ng-click 函数中访问此元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25259684/