【发布时间】:2019-03-14 22:30:19
【问题描述】:
在我的 AngularJS 应用程序中,我绑定到 ng-keyup 上的输入字段,以便在每次更改输入字段的值时调用一个函数。
<input type="text" ng-model="logoText.text" ng-keyup="updateTextLogo();">
此函数更新画布上的文本并执行更多操作,需要 2-3 秒。
虽然以很小的延迟(慢)键入每个字母,但通过快速键入会导致画布数据覆盖。
是否可以在 keyup 上添加延迟执行功能?
例如,当前情况是,如果用户必须输入 Hello,则每个字母都会调用该函数。
我想添加一个延迟,这样如果用户在交易中进入了Hell,Hell这个词将被一起处理,而不是每个字母。
【问题讨论】:
-
$scope.updateTextLogo= function() { if ($scope.logoText.text >= 4) executeSomething() };
-
嘿,我刚刚以上面的测试为例。用户不受字母数量的限制。我只想在一些延迟后调用该函数。就像如果用户只输入 H 然后等待 2 秒,该函数将被调用。
-
嘿,我找到了这个 plunkr。 plnkr.co/edit/HfPDC4veoW9KlVrC7Tly?p=preview.
标签: javascript angularjs