遅い独自仕様のeコマースプラットフォームで作業していて、クライアントはサイト上の呼び出しボタンをスピナークリックして、ユーザによる繰り返しの提出/クリックを減らす。フロントエンドの対話とバックエンドの結果の間には、現在のところかなりの遅延があります。ボタンがJSイベントに既にバインドされているときにクリックすると、JavaScriptボタンを使用してHTMLボタンのクラスを変更します
ほとんどすべてのボタンは、すでにJavascriptイベントにバインドされています。ローダーアニメーションは、ボタン要素に「読み込み」という名前の新しいCSSクラスを追加することで、簡単に実現できます。
HTMLボタン例:ロードアニメーションと
<button class="mz-button ui primary button" data-mz-action="next">Next</button>
HTMLボタンの例:
<button class="mz-button ui primary button loading" data-mz-action="next">Next</button>
私が直接、既存のJavaScriptのメソッド/関数を修正することを避けるために最善だと思いますが、何がだろうボタンのクリック時に "ローディング"クラスを追加する "ベストプラクティス"アプローチを使用するだけでなく、デフォルトのボタン動作に影響を与えないようにします。私が知ることから、DOM内の特定のボタン選択にthis
を使用すると、スマートになる可能性があります。
2次的な目的として、サイト全体のどのボタンでもこれを実現できたら嬉しいです。