問題タブ [debouncing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1539 参照

knockout.js - KnockoutJS - クリックをデバウンスするにはどうすればよいですか?

ボタンが押されたときのデフォルトの動作を変更したい - ボタンがダブルクリックされないようにする必要があります。

1 つのオプションは、ボタンがバインドされている関数をアンダースコアから _.once() または _.throttle() にラップすることですが、これをスタックの上位で処理した方がよいでしょう。

だから私はこの質問を見つけました:バインディングハンドラーと答えで参照されているフィドルをオーバーライドするノックアウトjs ( http://jsfiddle.net/rniemeyer/PksAn/)そしてそれで何かをしようとしました。以下は、フィドルの元のコードです。

私は _.throttle() でラップされたValueAccessorをラップしようとしましたが、ネストされた関数もラップしようとしましたが、valueAccessor() が毎回新しい関数を返していることがわかり、これが私がラップするはずのものだと思います.

そのコードは次のとおりです: (knockout-2.2.1.debug.js の 2043 行目から)

つまり、間違っていると思われるノックアウトの内部に入る必要があります。

だから私の質問は、私はここで正しい考えに進んでいるのか、それともアプローチが完全に間違っているのかということです. これを行うより良い方法はありますか?

0 投票する
1 に答える
2055 参照

javascript - 複数のイベントからアクションをデバウンスする

複数のイベントから開始できるアクションをデバウンスするにはどうすればよいですか? 動作を示すための例を次に示します: http://jsfiddle.net/eXart/2/

テキスト ボックスにテキストを入力してクリックすると、「stuff」が 1 回ではなく 2 回表示されることがわかります。これは、各イベントが独自のデバウンス インスタンスを取得しているためです。イベント間でデバウンス インスタンスをどのように共有しますか?

0 投票する
1 に答える
587 参照

angularjs - ng-ampere-debounce が AngularJS 1.2 で動作しなくなったようです

Firebase を利用したアプリで入力をデバウンスするために、jQuery / AngularJS ディレクティブを使用しています。これは Lars Gersmann の投稿から来ており、うまく機能していました。

http://orangevolt.blogspot.com.au/2013/08/debounced-throttled-model-updates-for.html

Angular 1.0.8 から 1.2 に更新すると問題が発生するようです。ディレクティブが起動するたびに、要素からイベントをプルする代わりに、$._data 関数が未定義を返すため、次のエラーが発生します。

TypeError: Object.keys が Function.keys の非オブジェクトで呼び出されました (ネイティブ)

ここで定義されています:

以前のようにこの要素のイベントをプルしないように、AngularJS または jQuery で何か変更がありましたか?

(ちなみに、Angular のアップグレードで変更されていない jQuery バージョン 1.8.3 を使用しています)。

これに光を当てることができる人に感謝します!

0 投票する
2 に答える
3668 参照

button - 押しボタンを使用して 7 セグメントをインクリメントする

私の fpga はスパルタン 3E-100 Cp132 です。入力として 4 つの押しボタンがあり、それらを使用してボードの 7 セグメントの 4 桁を増やしたいと考えています。VHDL コードは次のとおりです。

すべての押しボタンは、対応する 7 セグメントの数字 (b1 --> 右端の数字と b4 --> 左端の数字) を 1 ずつ増やします。問題は、ボタンを押すと、ジョブは実行されますが、1つではなく任意の数だけインクリメントされることです。その理由は、クロック 2 の立ち上がりエッジごとに 1 ずつ増加し、このクロックの周波数が原因で発生が速すぎるためです。どうすればこの問題を解決できますか? プッシュ ボタンのデバウンス コードをいくつか試しましたが、あまり役に立ちませんでした。私はここで完全に立ち往生しています。それを行う方法があるはずですが、どのように?ちなみに、上記のコードで私が使っているデバウンスコードは

事前に感謝します。

0 投票する
1 に答える
410 参照

angularjs - $debounce でエラーが発生しました

コントローラーに $debounce を注入すると、次のエラーが発生します: 不明なプロバイダー: $debounceProvider <- $debounce