Ponieważ metoda zdarzenia jQuery .toggle jest przestarzała. Co mamy użyć do symulacji tego zdarzenia (kliknięcia alternatywne)?Zdarzenie jQuery .toggle przestarzałe, co należy użyć?
Odpowiedz
Dodaj poza document.ready
$.fn.clicktoggle = function(a, b) {
return this.each(function() {
var clicked = false;
$(this).click(function() {
if (clicked) {
clicked = false;
return b.apply(this, arguments);
}
clicked = true;
return a.apply(this, arguments);
});
});
};
następnie użyć następujących replikować .toggle funkcjonalność:
$("#mydiv").clicktoggle(functionA,functionB);
znaleźć na JQuery Forums
Przepraszam, ale co to właściwie jest? Czy to funkcja, którą napisałeś? Dlaczego $ .fn.clicktoggle i jak wywołujesz tę funkcję? Dziękuję za Twój anwser! –
Powyższy kod rozszerza obiekt jQuery przez dodanie nowej metody. Dodałeśby ten kod do obsługi "_on ready_". Następnie możesz wywołać 'clicktoggle()' tak, jakby była to metoda jQuery. Możesz przeczytać o dodaniu metody jQuery [tutaj] (http://stackoverflow.com/q/12093192/778118). – jahroy
Bardzo ładne, dziękuję za edycję! –
var i = 0;
$('button').click(function() {
if (i == 0){
$('div').css({background: 'red'})
i++;
} else {
$('div').css({background: 'yellow'})
i = 0;
}
});
można podać kod ? – Dom
Duplikat http://stackoverflow.com/questions/2459153/alternative-to-jquerys-toggle-method-that-supports-eventdata –
@jahroy Nie chcę metody animacji ... –