【问题标题】:angular leaflet directive custom popup click event not triggered on iOS devices角度传单指令自定义弹出点击事件未在 iOS 设备上触发
【发布时间】:2016-12-02 09:08:06
【问题描述】:

我正在使用 angular Leaflet 指令和 ionic 在 iOS 设备上开发地图,我需要可点击的弹出窗口,它在 Web 浏览器上运行良好,但在 iOS 模拟器上不行。

var html11 =
            '<div style="width:660px;" ng-click="goToDetail(clickedMarkerInfo)">'
            + '<div class="tripguide-tootip-row-left" ng-click="goToDetail(clickedMarkerInfo)">'
            + '<div class="tripguide-tootip-image">'
            + '<img ng-src={{clickedMarkerInfo.picture}}>'
            + '</div>'
            + '<div class="tripguide-tootip-rating" ng-show="whetherToShow(clickedMarkerInfo.rating)">'
            + '<img ng-repeat="pic in clickedMarkerInfo.ratingPics track by $index"src="{{pic}}" />'
            + '</div>'
            + '</div>'
            + '<div class="tripguide-tootip-row-right" ng-click="goToDetail(clickedMarkerInfo)">'
            + '<div class="tripguide-tootip-legend">'
            + '<span>{{clickedMarkerInfo.name}}</span>'
            + '</div>'
            + '<div class="tripguide-tootip-address">'
            + '<span>{{clickedMarkerInfo.address}}</span>'
            + '</div>'
            + '</div>'
            + '<div class="tripguide-tooltip-arrow">'
            + '<img src="images/tripguide/tooltip-arrow.png">'
            + '</div>'
            + '</div>';
 var marker = {
                lat: myLatlng[0],
                lng: myLatlng[1],
                getMessageScope: function () {
                    return $scope;
                },
                message: html11,
                compileMessage: true
            };

 $scope.markersArray.push(marker);

iOS 版本为 9.3。也许这是一个离子和iOS问题? 任何建议表示赞赏。

【问题讨论】:

    标签: javascript angularjs ionic-framework leaflet angular-leaflet-directive


    【解决方案1】:
    ionic.tap.isElementTapDisabled= function(ele) {
                    if (ele && ele.nodeType === 1) {
                      var element = ele;
                      while (element) {
                      // if ((element.dataset ? element.dataset.tapDisabled : element.getAttribute && element.getAttribute('data-tap-disabled')) == 'true') {
                          if (element.getAttribute && element.getAttribute('data-tap-disabled') == 'true') {
                          return true;
                        }
                        element = element.parentElement;
                      }
                    }
                    return false;
                  };
    

    【讨论】:

      猜你喜欢
      • 2017-03-30
      • 1970-01-01
      • 1970-01-01
      • 2014-06-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多