2017-03-01 3 views
-2

チェックボックスが初めて選択された場合に機能を実行します。出来ますか?使用することにより初めてチェックボックスのみが選択された場合にメッセージを取得

this.on('buuttonCheckBox:set', function(){ 
    //do the work 
}) 

または

this.on('buuttonCheckBox:change', function(){ 
    //do the work 
}) 

やjQueryを使って

$('#checkbox1').click(function() { 
    if (!$(this).is(':checked')) { 
     return confirm("Are you sure?"); 
    } 
}); 

答えて

2

チェックボックスがオフになっていると仮定すると、oneoneではなく、on)を使用します。最初のイベントで削除するイベントハンドラを添付します。

は、この刻々と過ぎ、untickingそして、刻々と過ぎて試してみてください。

$("#cb").one("click", function() { 
 
    console.log("First and only notification"); 
 
});
<label><input id="cb" type="checkbox"> Click me</label> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

代わりに、当然のことながら、ちょうどトラックを保持します。 jQueryのdataはそれを行うための便利な方法です:

$("#cb").on("click", function() { 
 
    console.log("Clicked"); 
 
    var $this = $(this); 
 
    if (this.checked && !$this.data("seen")) { 
 
    $this.data("seen", true); 
 
    console.log("The one and only notification"); 
 
    } 
 
});
<label><input id="cb" type="checkbox"> Click me</label> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

1

は、それがすでに確認されたかどうかの情報を維持するブール変数を実装します。

var wasChecked = false; 
 
$('#checkbox1').click(function() { 
 
    if (!wasChecked) { 
 
     alert("Are you sure?"); 
 
     wasChecked = true; 
 
    } 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type='checkbox' id='checkbox1'>

1

変化イベントをのEventListener機能を追加し、関数内、イベントリスナー

function one(){ 
 
    document.getElementById('checkbox1').removeEventListener('change',one); 
 
    return confirm("Are you sure"); 
 
} 
 
document.getElementById('checkbox1').addEventListener('change',one);
<input type="checkbox" id="checkbox1" value="Check" />

を除去
関連する問題