【发布时间】:2015-06-28 00:54:48
【问题描述】:
有没有人有任何指针可以让我在 Angular 中消除按键事件?我无法让它去抖动。而且我肯定知道,因为我正在使用 $log.debug 打印出按下的键,并且它触发的次数不是去抖动率。
我是这样设置的:
<div ng-keypress="doSomething"></div>
在我的控制器中(不是我在这个实例中包含了 underscore.js 以利用它的 debounce 方法):
...
$scope.doSomething = function(event, keyEvent) {
var keypressed = String.fromCharCode(keyEvent.which).toUpperCase();
_.debounce(handleKeyPress(keypressed), 500);
}
function handleKeyPress(keypressed) {
//do something with the keypress
}
提前感谢您的帮助。
【问题讨论】:
-
它触发的次数不是去抖动率是什么意思?
-
调用
_.debounce(handleKeyPress(keypressed), 500);时,您正在解析handleKeyPress(keypressed)并将结果传递给去抖动。您应该传递一个可以调用的函数。比如:var bounceable = function() {handleKeyPress(keypressed)}_.debounce(bounceable, 500); -
嗨 Enzey,这很有意义。我已经应用了它,但它没有运行。我也没有收到任何错误。我尝试在 debounce 函数中放置一个 console.log 语句,它甚至没有调用它。
标签: javascript angularjs underscore.js keypress debouncing