Tôi có một ràng buộc cho nhiều đầu vào.Làm cách nào để biết một hộp kiểm có thực sự được nhấp không?
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something here
// do something extra here if $(this) was actually clicked
});
Kể từ khi có những cách khác bắt đầu một sự thay đổi của một, (.change jquery() của phương pháp cho một) đầu vào, Có cách nào để biết một hộp kiểm đã thực sự nhấp vào để gây ra sự kiện thay đổi?
Tôi đã cố gắng tập trung tuy nhiên sự kiện trọng tâm sẽ kích hoạt trước sự kiện thay đổi của hộp kiểm để không hoạt động.
$("#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.
});
Chỉnh sửa # 1
Xin lỗi tôi không thực sự biết làm thế nào để làm rõ điều này hơn nữa ... Tôi không quan tâm nếu hộp kiểm được kiểm tra hay không ... Tôi biết những gì. là (": checked") là và cách sử dụng nó. Nó không giúp gì ở đây. Tôi chỉ muốn biết liệu hộp kiểm có thực sự được nhấp vào để kích hoạt sự kiện thay đổi hay không.
Chỉnh sửa # 2
Tôi có một công việc xung quanh ... đầu tiên tôi liên kết nhấp chuột cho đầu vào và chọn lựa và lưu trữ các id của phần tử. Sau đó, trong ràng buộc thay đổi của tôi, tôi kiểm tra xem liệu phần tử đã thay đổi có phải là phần tử được nhấp lần cuối cùng không.
$("input, select").click(function() {
var myId = $(this).attr("id");
lastClickedStore.lastClicked = myId;
});
Sau đó, trong liên kết thay đổi, tôi chỉ kiểm tra xem ID hiện tại có bằng Id được nhấp cuối cùng không.
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something
if(lastClickedStore.lastClicked == $(this).attr("id")) // do something else.
}
Có thể $ (this.id) sẽ giúp bạn xác định. Kiểm tra câu trả lời đã chỉnh sửa của tôi. Xin lỗi nếu tôi đang đi trong vòng kết nối. –