我有一個綁定多個輸入。如何判斷一個複選框是否實際被點擊?
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something here
// do something extra here if $(this) was actually clicked
});
既然有啓動輸入,(jQuery的.change()的一個方法)的變化的其他方式,有沒有辦法判斷一個複選框實際點擊造成變化的事件嗎?
我試過重點,但是焦點事件在複選框的更改事件之前觸發,所以不起作用。
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something here
if($(this).is(":focus")) // do something extra here but focus doesn't happen here for checkboxes.
});
編輯#1
對不起,我真的不知道如何將這種進一步明確...如果複選框被選中,我不關心或不...我知道是什麼。是(「:checked」)是以及如何使用它。這在這裏沒有幫助。我只想知道是否實際點擊了複選框來觸發更改事件。
編輯#2
我周圍的工作......我第一次綁定點擊輸入和選擇和存儲元素的ID。然後在我的更改綁定中,我檢查是否更改的元素是最後一次點擊的元素。
$("input, select").click(function() {
var myId = $(this).attr("id");
lastClickedStore.lastClicked = myId;
});
然後在更改綁定我只是檢查當前的ID是否等於最後點擊的ID。
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something
if(lastClickedStore.lastClicked == $(this).attr("id")) // do something else.
}
也許$(this.id)將幫助您識別它。檢查我編輯的答案。對不起,如果我在圈子裏。 –