javascript - 我可以在 .on ('keyup' 上放置一个计时器来减少更新次数吗?

标签 javascript angularjs

我有以下代码在工作:

$wmdInput.on('keyup', function () {
    var rawContent = $wmdInput.val();
    scope.$apply(function () {
        ngModel.$setViewValue(rawContent);
    });
});

但是它似乎减慢了我输入字符的速度。有什么方法可以设置超时,以便保存所有数据,但它不会超过例如每两秒一次?

最佳答案

纯 AngularJS 方法

var promise;
$wmdInput.on('keyup', function () {
    $timeout.cancel(promise);
    promise = $timeout(function() {
        var rawContent = $wmdInput.val();
        ngModel.$setViewValue(rawContent);
    }, 2000);
});

关于javascript - 我可以在 .on ('keyup' 上放置一个计时器来减少更新次数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20884126/

相关文章:

javascript - 如何将 Firebase 服务返回的对象作为数组打印(到控制台)

javascript - 模块 'smart-table' 不可用

javascript - Ajax与数据不起作用,但它是成功的

javascript - 将事件处理程序(带参数)添加到使用 document.createElement 创建的元素

Javascript:首先按第二列desc排序二维数组,然后按第一列asc排序

angularjs - 在 Angular 中更改路线时,如何使用 ui-router 重新初始化 ngMap?

javascript - Angular : How to allow selecting values outside of ngOptions

node.js - AngularJS $resource 为 $save 方法发出 HTTP OPTIONS 请求而不是 HTTP POST

Javascript内联用空字符串替换未定义

javascript - ES6 中已有的 getter 方法在 ES6 之前有什么替代方案