2014-09-08 3 views
1

Я делал некоторые тесты с помощью angular.element и хотел выяснить, есть ли способ получить текущий DOM с помощью hg-click?AngularJS angular.element current DOM

Пример

<div ng-click="angular.element(curElement).parent()..."></div> 

Как получить текущий элемент? I.e элемент Div, к которому он принадлежит? Мне не нужно использовать директиву или контроллер, я просто хочу выяснить, есть ли способ с помощью вышеупомянутого метода.

Я пробовал переходить в «этот» и «$ element», но ничего.

+1

Что произойдет, если вы console.log angular.element (это)? – wootscootinboogie

+0

Я не понимаю, в каком случае ... вам не нужен контроллер или директива? лучше всего практиковать, вы не должны этого делать. – gonzofish

+0

У меня есть контроллеры и директивы, но опять же, я не хочу слишком много вникать в специфику, просто нужен способ сделать что-то подобное выше. Я знаю о лучших практиках. –

ответ

2

Вы должны использовать $event услуг в качестве параметра

<button ng-click="clickMe($event)">Click Me</button> 

Online Demo

Есть несколько свойств, которые могут помочь:

srcElement, toElement или target

+0

Отличный, эта работа, и я могу получить элемент, используя цель. Знаете ли вы, можно ли выполнить выражение «angular.element» внутри hg-click напрямую, не будучи обернутым в функцию контроллера? Просто любопытство. –

+0

Из любопытства, каковы они? –

1

Если определить функцию так, чтобы

<div ng-click="doStuff($event)"></div> 

Где-то в вашем контроллере, вы можете получить ссылку на необработанный DOM элемент с помощью

$scope.doStuff = function ($event){ 
    var el = $event.target; 
} 
Смежные вопросы