我正在尝试一致地使用ng-mousedown
和ng-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中的错误。
答案 0 :(得分:2)
我直接将测试文件加载到Chrome中,发现它按预期工作。当我将它与通过我的本地网络服务器加载的那个进行比较时,我发现以下行注入了我的HTML:
<div id="__ngBatarangElement" style="display: none;">{"id":1,"time":18.12599998083897,"event":"scope:apply"}</div>
这让我怀疑开发工具中的AngularJS标签。果然,禁用它&#34;修复&#34;页面:
更令人不安的是,由于几乎普遍的负面评论,我清楚地记得选择不安装Batarang。我想我必须加入我的。
更新:发现问题已报告https://github.com/angular/angularjs-batarang/issues/205