Javascript基礎:手振れ防止機能(debounce)を実現する.
2250 ワード
一、手振れ防止機能を実現する
手振れ防止関数の原理:イベントがトリガされてからn秒後に再度コントロールし、このn秒以内にマージンがトリガされたら、再度時間を計る.
手書き簡略版:ボタン提出シーン:複数回ボタンを提出して、最後に提出した一回だけを実行します. サービスエンド検証シーン:フォーム検証はサービスエンドの協力が必要であり、一つの連続的な投資イベントの最後の一回だけを把握して、連想語の検索機能は類似しています. 補足:(生存環境はlodash.debounceを使ってください.)
手振れ防止関数の原理:イベントがトリガされてからn秒後に再度コントロールし、このn秒以内にマージンがトリガされたら、再度時間を計る.
手書き簡略版:
//
const debounce = (fn, delay) => {
let timer = null;
return (...args) => {
clearTimeout(timer);
timer = setTimeout(() => {
fn.apply(this, args); }, delay);
};
};
適用シーン: