Ошибка выброса AngularJS ngTouch и ngSwipe "Ошибка типа: element.on не является функцией"
Я использую угловой 1.4.0 и jQuery v1.11.1.
Я пытаюсь использовать ngTouch/ngSwipe. Оба не прекратят выдавать ошибку "TypeError: element.on не является функцией" при загрузке приложения (внутри bind-функции). К сожалению, я не могу воспроизвести эту ошибку в plunkr, во всяком случае ngSwipe сталкивается с этой проблемой, когда:
bind: function(element, eventHandlers, pointerTypes) {
...
pointerTypes = pointerTypes || ['mouse', 'touch'];
element.on(getEvents(pointerTypes, 'start'), function(event) {... <-- error here
Я не думаю, что это слишком большая проблема с моим другим кодом, но я упускаю какую-то зависимость. У кого-нибудь есть идея?
Заранее спасибо.
1 ответ
Решение
$on
метод является частью angular.element
объект, тогда как on
Метод является частью объекта jQuery. element
речь идет о объекте DOM, у которого нет такого метода. Ближайшим эквивалентом будет:
element.addEventListener(getEvents(pointerTypes, 'start'), function(event){} )
или же:
$(element).on(getEvents(pointerTypes, 'start'), function(event){} )
Рекомендации