2014-11-27 3 views
2

Я хотел бы изменить нг мышиных ввести событие так, только если пользователь пылесос для более секунд на месте события будет срабатывать кажется, ng-model-options="{ debounce: 1000 }" не работает для этого событияAngularjs мышей ввести событие

Есть идеи ?

ответ

0

Вы не можете установить время пожара событий с помощью ng-модели. Вам нужно будет установить задержку только в событии. Напр.

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

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

это также срабатывает, даже если пользователь навешивается менее секунды –

+0

Причина, по которой я хочу, чтобы не запускать цепочку аппликаций каждый раз, когда происходит событие ввода мыши - только если пользователь завис, а потом он заслуживает Это – yonia

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.

Смежные вопросы