2015-03-10 2 views
0

Я создал директиву angularjs для атрибута globalEvents и добавлен в элемент body. Здесь Вы можете найти код:событие click не работает должным образом в iPad с angularjs

<body globalEvents> 
<div id="container" ng-controller="appController"> 

Angularjs код:

angularApp.directive('globalEvents', [function() { 
     return { 
      restrict:"A", 
      replace:true, 
      link:function(scope,elm,attr) { 
       elm.on('click', function (e) { 
        // not working in iPad 
       } 
      } 
     } 
    } 

Над событие щелчка не работает в IPad до тех пор пока я не добавить атрибут нг-клик для контейнера DIV (id="container")

<div ng-click="" id="container" ng-controller="appController"> 

I не понимаю причины этого. Но это не решение этой проблемы. Пожалуйста, помогите мне

Я использую AngularJS v1.2.15

ответ

1

Я думаю, вы должны использовать angular.element()

angular.element(elm).on('click touchstart', function (e) { 
//^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^ 

Как вы связывание событиечрезвычайной jqLite для исходного узла DOM elm, вместо этого вы должен обернуть его angular.element, чтобы создать объект jquery для присоединения к нему события jqlite.

Docs for angular.element()

+0

Благодарим за быстрый ответ. Но код, который я использовал, отлично работает в настольных браузерах, но не работает в iPad. –

+0

@TusharAhirrao. Думаю, вам нужно также использовать событие «click touchstart». – Jai

+0

Спасибо за ваш комментарий. Я попробую это и дам вам знать здесь –

Смежные вопросы