off():要素にイベントに紐づく処理を解除する
2016/06/29
要素にイベントに紐づく処理を解除する
要素にイベントに紐づく処理を解除するの書式
要素.off(イベントのタイプ);
要素にイベントに紐づく処理を解除する場合は、要素.off(イベントのタイプ);
要素にイベントに紐づく処理を解除するのjQueryのサンプルコード
1.カウント変数を定義、最初は0
2.div(#divMessage)に表示メッセージのセット、カウント変数も付ける
3.button(#btnTest)にonメソッドにてクリックイベントを紐づける
4.このボタンがクリックされたらカウント変数に1を加えて表示
5.button(#btnOff)にonメソッドにてクリックイベントを紐づける
6.このボタンがクリックされたらbutton(#btnTest)のクリックイベントを解除
<!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(#btnTest)にonメソッドにてクリックイベントを紐づける
$("#btnTest").on("click", function(){
// クリックされる度にカウントアップ
clickCount++;
$("#divMessage").text("button click count:" + clickCount);
});
// button(#btnOff)にonメソッドにてクリックイベントを紐づける
$("#btnOff").on("click", function(){
// button(#btnTest)のクリックのイベントに対しての処理を解除
$("#btnTest").off("click");
// クリックのイベントに対しての処理を解除した旨を表示
$("#divBtnOnOffMessage").text("click event is off now");
});
});
</script>
</head>
<body>
<div id = "divMessage"></div>
<div id = "divBtnOnOffMessage">click event is on now</div>
<button id = "btnOff">click event off</button>
<button id = "btnTest">button</button>
</body>
</html>
要素にイベントに紐づく処理を解除するのjQueryのサンプルの結果
↓
ボタンを1回クリックしたらカウントアップされて回数が1と表示される

↓
さらにもう1回クリックしたらカウントアップされて回数が2と表示される

↓
そして「click event off」のボタンを押す、click event is off nowと表示が変わる

↓
ボタンをクリックしたが、クリックのイベントが解除されているので、カウントアップされない

