奇妙な質問、私は知っています。私に説明させてください。1回または何回でも実行できるメソッドを作成するにはどうすればよいですか?メソッドが呼び出されたときにロジックが1回だけ実行されるようにしますか?
私はチェックボックスの変更を処理するために使用されるjavascript/jquery関数を持っています。
$("input[type='checkbox'].option").change(function() {
if ($(this).is(":checked")) {
$("div.special").removeClass("red");
}
else {
$("div.special").addClass("red");
}
// I only want to call this after all the checkbox event have been handled
updateNumRedDivs();
});
function updateNumRedDivs() {
alert($("div.special.red").length+"red DIVs found");
}
は、個々のチェックボックスのいずれかである今、チェックボックスハンドラを呼び出すことができます - (これは単なる擬似コードでFYI、私は実際に赤の行数を取得しようとしていないよ)ここではいくつかの擬似コードです(明らかに)クリックされたとき、または「すべて選択」チェックボックスが呼び出された別の:私は、これは理にかなって願っています
$(".myForm .selectAllCheckbox").change(function() {
var $checkboxes = $(this).closest("form").find("input[type='checkbox'].option");
if ($(this).attr("checked")) {
$checkboxes.each(function() {
if (!$(this).attr("checked"))
$(this).attr("checked", "checked").change();
});
}
updateNumRedDivs();
});
。ありがとう。
私はまだ混乱しているんです。何が問題なのですか? – sdleihssirhc
は、私は彼が、彼は結局 'change'メソッドが呼び出される実行しようと、いくつかの関数' updateNumRedDivs'を持っている...私は彼が何を意味するのかを考え出したと思います。これは1つの 'checkbox'が変更された後、実行されるべきであることを意味するか、または束全体がプログラム的に変更されることを意味するかもしれませんが、すべてが変更された後にのみ関数を呼び出すことを望みます。 –