angularjs ng-click从子元素获取信息

时间:2014-09-15 18:24:13

标签: angularjs

我正在尝试从ng-click元素获取信息。当我从clicked元素中记录$ event时,我得到正确的信息,但是当我点击子元素时,我得到关于孩子的信息,而不是设置ng-click的父母。这是小提琴链接

http://jsfiddle.net/g3x2ndyc/5/

var app = angular.module('app',[])
app.controller('appCtr', function($scope) {
$scope.testThis = function(evt){
  //evt.stopPropagation();
 // evt.preventDefault();
console.log(evt.srcElement.offsetLeft)
console.log(evt.srcElement.offsetWidth)
console.log('____________________________')
}
});

2 个答案:

答案 0 :(得分:1)

使用evt.currentTarget而不是evt.srcElement(那个主要用于IE)。

看小提琴http://jsfiddle.net/g3x2ndyc/11/

var app = angular.module('app',[])
app.controller('appCtr', function($scope) {
    $scope.testThis = function(evt){
        console.log(evt.currentTarget.offsetLeft)
        console.log(evt.currentTarget.offsetWidth)
        console.log('____________________________')
}
});

答案 1 :(得分:0)

很难准确说出你最终想要做什么,但你可以将id传递给click事件,然后根据它获取位置。

ng-click="myevent('idName')

myevent(id) {
  jquery('#'+id).position();
}