one():要素に1度だけイベントに紐づく処理を設定する
2016/07/01
one():要素に1度だけイベントに紐づく処理を設定する
要素に1度だけイベントに紐づく処理を設定するの書式
要素.one(イベントのタイプ, 処理);
要素に1度だけイベントに紐づく処理を設定する場合は、要素.one(イベントのタイプ, 処理);
要素に1度だけイベントに紐づく処理を設定するjQueryのサンプルコード
1.button(#btnOne)にoneメソッドの第1引数にクリックのイベントタイプを指定、第2引数に処理を指定
2.クリックされたらカウントアップされた旨のメッセージをdiv(#divMessage)を表示
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> <!-- div{margin: 10px; padding: 10px; border: 1px solid #000000; } button{margin: 10px; padding: 10px; } --> </style> <script src="../../js/jquery-1.12.2.min.js"></script> <script> $(function(){ var clickCount = 0; // div(#divMessage)に表示メッセージのセット $("#divMessage").text("button click count:" + clickCount); // button(#btnOne)にoneメソッドにてクリックイベントを1回だけ紐づける $("#btnOne").one("click", function(){ // クリックされる度にカウントアップ clickCount++; $("#divMessage").text("button click count:" + clickCount); }); }); </script> </head> <body> <div id = "divMessage"></div> <button id = "btnOne">click one only</button> </body> </html>
要素に1度だけイベントに紐づく処理を設定するjQueryのサンプルの結果
↓
ボタンを1回クリックしたら表示メッセージがカウントアップされて回数が1と表示される
↓
さらにもう1回クリックしても1回クリック済みなのでクリックイベントは発生せず、当然カウントアップもされない