4

我很难从我们的应用程序中删除 jQuery。主要问题:一个简单的链接ng-click结合ui-sref

<a data-ui-sref="main2" data-ng-click="reportClick()">Link</a>

结果:ng-click着火了,ui-sref没有。这仅在使用angular-touch时发生,没有jQuery作为依赖项和移动浏览器,或者在新的 chrome 32 中模拟移动设备(我使用 Nexus 4 作为模拟目标)。

一个运行示例:http: //jsfiddle.net/scheffield/AEfMm/

看效果: http: //jsfiddle.net/scheffield/AEfMm/show in a mobile browser

我已经做了一些研究,发现事件对象已损坏:

element.bind("click", function(e) {
    var button = e.which || e.button;

    if ((button === 0 || button == 1) && !e.ctrlKey && !e.metaKey && !e.shiftKey) {
      // HACK: This is to allow ng-clicks to be processed before the transition is initiated:
      $timeout(function() {
        scope.$apply(function() {
          $state.go(ref.state, params, { relative: base });
        });
      });
      e.preventDefault();
    }
  });

它是一个对象,只包含两个实现为angular.noop.

有任何想法吗?

4

0 回答 0