在事件触发时识别HTML元素

时间:2017-10-10 06:22:30

标签: javascript html angularjs

我的应用程序有大量的按钮/输入/等。与不同的事件。我想清楚地识别出某些事件触发的每一个。

例如,当我有一个应用程序时:

<div class="someClass">
  <div>
    <someOtherElement>
      <div></div>
      <div><button ng-click="someClickEvent($event)"></button></div>
    </someOtherElement>
  </div>
</div>

我想以某种方式识别,我刚刚点击了哪个按钮:

function someClickEvent(e) {
   // some identification code here
}

[编辑]

也许我写错了......我想要一些像XPath这样的标识,或者指出哪个按钮被触发(用于错误记录)。

因此,当我点击button并发生一些错误时,我想识别该按钮并记录一些相关信息(例如div[0].someClass>div[0]>someOtherElement[0]>div[1]>button[0])。

3 个答案:

答案 0 :(得分:1)

您可以识别按钮并按此记录:

$scope.clickFunc = function(event){
   $scope.clickedElement = event.target.outerHTML;
};

DEMO:http://jsfiddle.net/rjdzuxaL/1/

答案 1 :(得分:0)

使用ng-click代替onclick

<button  ng-click="myFunction($event)">test</button>

Working demo

答案 2 :(得分:0)

将HTML更改为:

<button  ng-click="myFunction($event)">test</button> //onclick works on javascript. For Angularjs, use ng-click.

<强> JS:

$scope.someClickEvent = function(e) {
  // some identification code here
  var element = e.target; // this will give you the reference to the element.
}

您应该避免在控制器中处理DOM。使用指令。