jQueryのクリックイベント$().on(‘click’,~ を$().off()を使って削除する方法をご紹介します。
Contents
ディスプレイ広告
jQueryのoff()を使ってon()イベントを削除するCSSの記述
※処理を実行させるクリックボタン(.tagutuika)のCSS記述です。必要に応じて書き換えてください。
<style type="text/css">
body{
font-family:Verdana,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W6",Osaka,"MS Pゴシック",Arial,sans-serif;
padding: 0;
margin: 0;
overflow-x: hidden;
line-height: 1.8em;
text-align: center;
}
h1{
font-size:16px;
text-align:center;
font-weight:normal;
padding:10px 0;
position: relative;
}
.tagutuika{
padding: 4px;
width: 400px;
margin: 0 auto 16px auto;
cursor: pointer;
background-color: #cccccc;
}
.addclk{
padding: 4px;
width: 450px;
margin: 0 auto 16px auto;
cursor: pointer;
background-color: #4DA6FF;
}
</style>
jQueryのoff()を使ってon()イベントを削除するHTMLの記述
※class=”tagutuika”クリックするとクリックエリア要素出力先(class=”addarea”)に追加タグ要素を出力します。
<h1>以下のグレー箇所をクリックするとその下にon('click'~ クリックイベントを設定したタグ要素が追加されます。</h1>
<div class="tagutuika">ココをクリックすると、↓にクリックエリアが追加されます。</div>
<div class="addarea"></div>
on()クリックイベントをoff()を使って削除するJavaScript記述
※cass=”tagutuika”クリックすると.html()を使ってclass=”addarea”エリアに追加タグ要素を出力します。
.html()を使って追加したタグ要素にalert()メッセージを表示するクリックイベント「$().on(‘click’~」を設定してます。このクリックイベントを設定する前処理としてoff()を行い一度クリックで発生したクリックイベントを削除します。
この前処理off()を行わないと、class=”tagutuika”タグを複数回クリックするたびにクリックイベント「$().on(‘click’~」が設定され、alertメッセージがクリック回数分も表示されることになります。
<script src="./jquery-2.2.0.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(".tagutuika").click(function(){
$(".addarea").html('<div class="addclk">この追加エリアをクリックするとalertメッセージが表示されます。</div>');
$('body').off(); //off()で↓のクリックイベントを削除
$("body").on('click', '.addclk', function(){
alert("追加されたエリアがclickされました!");
});
});
</script>
jQueryのoff()を使ってon()イベント削除するデモページ
jQueryのoff()を使ってon()イベント削除するデモページ
※流用される場合は自己責任でお願いします。
デモページ
ディスプレイ広告
ディスプレイ広告