点击事件在带有angularjs的iPad中无法正常工作

时间:2015-03-10 10:31:49

标签: javascript jquery angularjs ipad javascript-events

我为属性globalEvents创建了angularjs指令并添加到body元素中。请找到以下代码:

<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中运行,除非我将ng-click属性添加到容器div (id="container")

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

我不明白这背后的原因。但这不是解决这个问题的方法。请帮帮我

我正在使用AngularJS v1.2.15

1 个答案:

答案 0 :(得分:1)

我猜你应该使用angular.element()

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

当你将jqLit​​e事件绑定到原始DOM节点elm时,你应该用angular.element包装它来创建一个jquery对象来附加一个jqlite事件。< / p>

Docs for angular.element()