タグ付けされた質問 「debouncing」

8
誰かがJavaScriptの「デバウンス」機能を説明できますか
ここに書かれたjavascriptの「デバウンス」関数に興味があります。http://davidwalsh.name/javascript-debounce-function 残念ながら、コードは私が理解できるほど明確に説明されていません。誰でも私がそれがどのように機能するかを理解するのを手伝ってくれますか?要するに、私はこれがどのように機能するのか本当に理解していません // Returns a function, that, as long as it continues to be invoked, will not // be triggered. The function will be called after it stops being called for // N milliseconds. function debounce(func, wait, immediate) { var timeout; return function() { var context = this, args = …

13
Vue2でデバウンスを実装する方法は?
Vueテンプレートに単純な入力ボックスがあり、多かれ少なかれこのようにデバウンスを使用したいと思います。 <input type="text" v-model="filterKey" debounce="500"> ただし、このdebounceプロパティはVue 2では廃止されました。推奨事項には、「v-on:input +サードパーティのデバウンス機能を使用する」とのみ記載されています。 どのように正しく実装しますか? lodash、v-on:input、v-modelを使用して実装しようとしましたが、追加の変数なしで実行できるかどうか疑問に思っています。 テンプレート: <input type="text" v-on:input="debounceInput" v-model="searchInput"> スクリプトで: data: function () { return { searchInput: '', filterKey: '' } }, methods: { debounceInput: _.debounce(function () { this.filterKey = this.searchInput; }, 500) } フィルターキーは、後でcomputed小道具で使用されます。

11
入力/書き込みを停止した後、入力テキストでイベントをトリガーするにはどうすればよいですか?
入力テキストボックスへの文字の入力を(入力中ではなく)停止した直後にイベントをトリガーしたい。 私は試しました: $('input#username').keypress(function() { var _this = $(this); // copy of this object for further usage setTimeout(function() { $.post('/ajax/fetch', { type: 'username', value: _this.val() }, function(data) { if(!data.success) { // continue working } else { // throw an error } }, 'json'); }, 3000); }); しかし、この例では、入力されたすべての文字に対してタイムアウトが発生し、20文字を入力すると約20のAJAXリクエストが発生します。 このフィドルでは、AJAXの代わりに単純なアラートを使用して同じ問題を示します。 これに対する解決策はありますか、それとも私はこれに悪いアプローチを使用していますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.