Ошибка выброса 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){} )

Рекомендации

Другие вопросы по тегам