ng-mousedown处理程序附加到ng-mouseup的事件

时间:2015-03-17 02:07:47

标签: angularjs

我正在尝试一致地使用ng-mousedownng-mouseup,但是ng-mousedown会触发两次而ng-mouseup根本没有触发。例如,以下代码会导致count递增2而不是在发布时按下按下;

<!DOCTYPE html>
<html>
  <body ng-app>
    <div>
      <div style="background-color: blue; width: 80px;" ng-mousedown="count = count + 1" ng-mouseup="count = count - 1" ng-init="count=0">Click Me</div>
      <div>{{count}}</div>
    </div>
    <script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
  </body>
</html>

如果我将Angular版本更改为1.1.1,它将按预期工作。我做错了什么或者这是Angular中的错误?我已经在Chrome和Firefox中测试过了。它适用于Firefox,但不适用于Chrome。

更新:经过进一步测试后,似乎这可能无法在Linux 64上的Chrome中运行。因此,它可能是Chrome中的错误。

1 个答案:

答案 0 :(得分:2)

我直接将测试文件加载到Chrome中,发现它按预期工作。当我将它与通过我的本地网络服务器加载的那个进行比较时,我发现以下行注入了我的HTML:

<div id="__ngBatarangElement" style="display: none;">{"id":1,"time":18.12599998083897,"event":"scope:apply"}</div>

这让我怀疑开发工具中的AngularJS标签。果然,禁用它&#34;修复&#34;页面:

Batarang Fail

更令人不安的是,由于几乎普遍的负面评论,我清楚地记得选择不安装Batarang。我想我必须加入我的。

更新:发现问题已报告https://github.com/angular/angularjs-batarang/issues/205