Clicca Toggle (jQuery)
-
20-09-2019 - |
Domanda
$("li").hover(
function () {
// do x
},
function () {
// do y
});
.. thats per hover, come farei lo stesso per click di commutazione, cioè fare x il clic e y sul secondo click?
ManyThanks
Soluzione
$('li').toggle(function() {
alert(1)
}, function() {
alert(2);
});
Altri suggerimenti
$.toggle()
prenderà qualsiasi numero di funzioni. Qui è con due:
$("li").toggle(
function() { /* do x */ },
function() { /* do y */ }
);
Un problema con la levetta () è che si chiama automaticamente event.preventDefault()
. Ecco un modo che vi permetterà di lasciare l'azione di default al posto o permettere di chiamare solo condizionatamente.
$("a").click(function(event){
var toggle = ($(this).data('toggle') == undefined) ? true : $(this).data('toggle');
console.log(toggle);
if(toggle){
event.preventDefault();
}
$(this).data('toggle', !toggle);
});
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow