2

После клика перейдите мероприятие в ctrl. Я хочу, чтобы написать условные, который возвращает истину, если element.target имеет класс modal-click-shieldКак проверить if event.target.hasClass() с помощью угловых и jqlite?

Вопрос:

Как я могу использовать .hasClass() с event.target использованием углов главного 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')); 
}); 

Ошибка:

TypeError: undefined is not a function 

Html:

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

'angular.element (event.target) .hasClass ('modal-click-shield') ' – PSL

ответ

15

Ваш элемент из event.target является регулярным HTMLElement, а не версия JQlite. Вы должны это сделать, чтобы преобразовать его:

angular.element(event.target); 
4

поскольку event.target является узлом DOM, а не объектом "jQuery". Заверните его

var target = $(event.target); 

или

angular.element(event.target); 
+1

Я не использую jQuery. как я могу преобразовать его в объект jqlite? –

+1

jqlite - это jQuery knock off ... – epascarello

+1

ReferenceError: $ не определен –

3

Если вы хотите сохранить с помощью JS DOM элемент простой без использования JQuery или угловой:

event.target.classList.contains('modal-click-shield')