当前位置: 代码迷 >> 综合 >> Angular.js ng-dblclick ng-click
  详细解决方案

Angular.js ng-dblclick ng-click

热度:1   发布时间:2023-12-17 05:38:10.0

AngularJs双击事件ng-dblclick避免同时发生两次单击事件


在AngularJs中,当一个元素同时绑定单击事件和双击事件后,触发双击事件时,同时也会触发两次单击事件,造成逻辑错误。为了解决这个现象,我们可以使用$timeout来判断在延迟的这段时间内,是发生了一次单击事件还是两次单击事件,若发生一次则执行,发生两次则忽略。

		//默认两个变量:是否单击过和是否取消单击事件$scope.clicked=false;$scope.cancel_click=false;//单击事件:$scope.single_click=function(){
    //如果单击过,则取消单击事件if($scope.clicked){
    $scope.cancel_click=true;return;}$scope.clicked=true;//延迟执行单击事件// 目的是在这段时间判断是否连续执行了两次单击事件//延迟时间可以调整$timeout(function(){
    if($scope.cancel_click){
    $scope.clicked=false;$scope.cancel_click=false;return;}//单击事件的逻辑$scope.func1();//初始化默认变量$scope.clicked=false;$scope.cancel_click=false;},500)}//双击事件:$scope.dbl_click=function(){
    $timeout(function(){
    //双击事件的逻辑$scope.func2();})}
  相关解决方案