Mam wiązanie dla wielu wejść.Jak mogę sprawdzić, czy faktycznie zaznaczono pole wyboru?
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something here
// do something extra here if $(this) was actually clicked
});
Ponieważ istnieją inne sposoby inicjowania zmiany wejścia, (metoda .change jQuery() do jednego), Czy istnieje sposób, aby stwierdzić, czy pole zostało faktycznie kliknięciu spowodować zdarzenie zmiany?
Próbowałem ustawić ostrość, jednak zdarzenie fokusa jest uruchamiane przed zdarzeniem zmiany checkboxa, więc nie działa.
$("#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.
});
Edit # 1
Niestety ja naprawdę nie wiem, jak to wyjaśnić dalej ... I nie obchodzi mnie, czy to pole wyboru jest zaznaczone, czy nie ... wiem co. is (": checked") jest i jak z niego korzystać. To nie pomaga tutaj. Chcę tylko wiedzieć, czy to pole wyboru rzeczywiście zostało kliknięte, aby wywołać zdarzenie zmiany.
Edit # 2
mam pracę wokół ... I najpierw powiązać kliknięcia dla wejść i wybiera i przechowywania identyfikatora elementu. Następnie w moim powiązaniu zmian sprawdzam, czy zmieniony element jest tym samym elementem, który został ostatnio kliknięty.
$("input, select").click(function() {
var myId = $(this).attr("id");
lastClickedStore.lastClicked = myId;
});
Następnie w powiązaniu zmian sprawdzam tylko, czy bieżący identyfikator jest równy identyfikatorowi ostatniego kliknięcia.
$("#foo", "#bar", "#fooCheckbox", "#barCheckBox").bind("change", function() {
// do something
if(lastClickedStore.lastClicked == $(this).attr("id")) // do something else.
}
Może $ (this.id) pomoże ci to zidentyfikować. Sprawdź moją zredagowaną odpowiedź. Przepraszam, jeśli jadę w kółko. –