On page load i have a controller that calls a service and then binds the returned data to some $scope.objects:
app.controller(\"MainController\", function($s
Try to add the ngTouch. From documentation:
A more powerful replacement for the default
ngClick
designed to be used on touchscreen devices. Most mobile browsers wait about 300ms after a tap-and-release before sending the click event. This version handles them immediately, and then prevents the following click event from propagating.Requires the
ngTouch
module to be installed.
Had a similar issue where the ng-click inside of a ng-repeat would not trigger. I fixed this by adding $event.stopPropagation()
Ex:
<li ng-repeat="option in $scope.options">
<span><a ng-click="trigger(); $event.stopPropagation()"></a></span>
</li>
I had the same problem.
I tried adding the ngTouch
library and dependency, but was still having a problem.
My static <div>
elements which contained an ng-click
worked fine, but the div's which were created dynamically (in an ng-repeat
on the same webpage) which contained an ng-click
didn't work. Tapping on them just didn't do anything.
This happened on my iPhone 6, my iPad and in Google Chrome when I asked to view my webpage on any of the device types. When I viewed the same webpage in IE or regular Chrome, all of the ng-click
s worked fine.
The solution was to use the ngMobileClick
directive described here and changing my ng-click
's to ng-mobile-click
.
After doing that, my dynamically created click events did get triggered normally when I tapped on them on a device.
Very odd.