我为属性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
答案 0 :(得分:1)
我猜你应该使用angular.element()
angular.element(elm).on('click touchstart', function (e) {
//^^^^^^^^^^^^^^^^^^-----------^^^^^^^^^^
当你将jqLite事件绑定到原始DOM节点elm
时,你应该用angular.element
包装它来创建一个jquery对象来附加一个jqlite事件。< / p>