はじめに ユーザーが DOM オブジェクト (ボタンやリンクなど) をダブルクリックするとき、これは常にユーザー操作にとって厄介な問題でした。 幸いなことに、jQuery は非常に優れたソリューションを提供します。 それが .one() です。
.one() このメソッドは何をするのでしょうか? 要素イベント ハンドラーをアタッチし、要素ごとにイベント ハンドラー関数を 1 回だけ実行できます。
パラメータ .one( events [, selector ] [, data ], handler(eventObject) )
events タイプ: String
• 要素に追加する 1 つ以上のイベントを指定します。スペースで区切られた複数のイベント。有効なイベントである必要があります。 「click」や「keydown.myPlugin」と同じです。
セレクター パラメーター パラメーターの種類: 文字列
•セレクター文字列は、イベントをトリガーできる選択された要素の子要素をフィルターで除外するために使用されます
• null を渡すか省略すると、選択した要素に到達するとイベントがトリガーされます
データ パラメーターの種類: 任意の型
• このパラメーターの値は、イベントの実行時に渡されます。がトリガーされる イベント ハンドラー関数
イベント ハンドラー関数 パラメーターの種類: 関数タイプ
•イベントがトリガーされたときに呼び出される関数
• false も許可されます。 false を返します。関数の短い形式
例 $("#saveBttn").one("click", function () {
alert("一度だけ表示されます。");
}); >
または
$ ("body").one(" click", "#saveBttn", function () {
alert("本文内で最初に #saveBttn がクリックされた場合に表示されます。");
});上記のコードのキーは次のとおりです:
•コードの実行が終了すると、ID が saveBtn の要素をクリックすると、警告ボックスがポップアップ表示されます
•その後クリックしても効果はありません
•これは ==> と同等です。
>$("#saveBttn").on("クリック", function (event ) {
alert("一度だけ表示されます。");
$(this).off(event);
});
つまり、これはバインドされたイベント ハンドラーで明示的に off() を呼び出すのと同じ効果があります。
詳細については、
jQuery をクリックしてください。 .one()
概要
上記のメソッドは jQuery 1.7 の新機能であるため、要素のクリック イベントが複数回トリガーされる場合、これが解決策になる可能性があります。なんと素晴らしい方法でしょう。ご不明な点がございましたら、お気軽にお問い合わせください。