Angularjs鼠标进入事件

时间:2014-11-27 06:42:17

标签: javascript angularjs web

我想更改ng-mouse enter事件,所以只有当用户在现场发现超过一秒钟时才会触发该事件 似乎ng-model-options="{ debounce: 1000 }"不适用于此事件

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

<button ng-mouseenter="myEvent()" ng-mouseleave="myEvent2()" > </button>


$scope.flag=false;
$scope.myEvent = function() {
$scope.flag=true;
  $timeOut(function(){


    if($scope.flag)
    {
      // do your logic here

    }
  }, 1000);
}

$scope.myEvent2 = function() {
    $scope.flag=false;
}

在这里你可以设置mouseenter的超时,并通过鼠标离开检查flag是否为假,这个逻辑只有在用户没有完成时才会执行mouseleave 1 sec

答案 1 :(得分:0)

您无法使用ng-model设置事件触发时间。 您只需在事件事件中设置延迟。例如,

<button ng-mouseenter="myEvent()"> </button>

$scope.myEvent = function() {
  $timeOut(function(){
    // do your function logic here.
  }, 1000);
}