6

单击后将事件传递给 ctrl。我想写一个条件,如果element.target有类将返回truemodal-click-shield

问题:

我如何.hasClass()使用event.targetangulars' jqlite

问题:

目前我收到一个类型错误,说:

$scope.exitModal = function(event){
        // Return to current page when exiting the modal, via UI.
        // After state return, should set focus on the matching link.
        var target = event.target;
        console.log(target.hasClass('modal-click-shield'));
});

错误:

类型错误:未定义不是函数

html:

  <div class="modal-click-shield" ng-click="exitModal($event)">
     <div ui-view="pdw"  class="product-container"></div>
  </div>
4

3 回答 3

18

您的元素来自event.target常规 HTMLElement,而不是 JQlite 版本。你需要这样做来转换它:

angular.element(event.target);
于 2015-01-21T00:14:13.130 回答
13

如果您想在不使用 jQuery 或 Angular 的情况下继续使用 JS DOM 元素:

event.target.classList.contains('modal-click-shield')
于 2017-05-19T09:50:22.560 回答
4

因为 event.target 是一个 DOM 节点,而不是“jQuery”对象。把它包起来

var target = $(event.target);

或者

angular.element(event.target);
于 2015-01-21T00:06:21.333 回答