Angular JS中双击事件ng-dblclick避免同时触发两次单击事件ng-click的解决方案
2016-08-02 15:34
966 查看
有些需求中,需要一个元素上既有双击事件,也有单击事件,而两者实现的效果不一样。
这时可以使用ng-dblclick与ng-click来实现需求,但是要避免浏览器将双击事件误认为是两次单击事件,从而出现逻辑错误。
可以通过$timeout进行判断,取消第二次单击事件的执行。
这时可以使用ng-dblclick与ng-click来实现需求,但是要避免浏览器将双击事件误认为是两次单击事件,从而出现逻辑错误。
可以通过$timeout进行判断,取消第二次单击事件的执行。
<img src="myImage.jpg" ng-click="singleClick()" ng-dblclick="doubleClick()"> In your controller the singleClick function will look like: $scope.singleClick = function () { if ($scope.clicked) { $scope.cancelClick = true; return; } $scope.clicked = true; $timeout(function () { if ($scope.cancelClick) { $scope.cancelClick = false; $scope.clicked = false; return; } //do something with your single click here //clean up $scope.cancelClick = false; $scope.clicked = false; }, 500); }; And the doubleClick function will look normal: $scope.doubleClick = function () { $timeout(function () { //do something with your double click here }); };
相关文章推荐
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- angularJS 单击ng-click和双击ng-dblclick嵌套或者出现在同一元素 避免事件互相干扰方法
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- javascript同一个元素同时绑定click和dblclick事件(同时单击和双击事件)
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- jquery 双击事件(dblclick)时,不触发单击事件(click)
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- jQuery 双击事件(dblclick)时,不触发单击事件(click)
- [转]jQuery 双击事件(dblclick)时,不触发单击事件(click)
- 解决JS双击事件dblclick触发时,同时会执行click事件中的语句
- Jquery实现双击行的同时不单计行(在Javascript中让单击Click和Double Click双击事件各自独立)
- 解决Extjs一次双击会触发两次单击事件,和一次双击事件
- 事件分发机制——避免同时点击两个按钮同时触发两次事件
- 快速单击触发双击事件解决方案
- 让WinForm控件同时使用单击和双击事件
- 同时支持行单击和双击事件的 GridView/DataGrid
- ASP.NET DEMO 15: 同时支持行单击和双击事件的 GridView/DataGrid