/ / JavaScript: gestori di eventi DRY mouseover / mouseout - javascript, jquery, handler

JavaScript: DRY gestori di eventi mouseover / mouseout - javascript, jquery, gestore

Questo è il mio codice:

    $rows
.on("mouseover", ".row", function () {
$(this).find(".label").show();
})
.on("mouseout", ".row", function () {
$(this).find(".label").hide();
});

Può essere ASCIUTTO?

risposte:

4 per risposta № 1

Puoi associare entrambi gli eventi, ascoltare event.name e quindi usare jQuery.fn.toggle

$userRows.on("mouseover mouseout", ".row", function(event) {
$(this).find(".label").toggle( event.name == "mouseover" );
});

Sono abbastanza sicuro che puoi anche usare jQuery.fn.hover:

$userRows.on("hover", ".row", function(event) {
$(this).find(".label").toggle( event.name == "mouseenter" );
});

o anche:

$userRows.on("hover", ".row", function(event) {
$(this).find(".label").toggle();
});

0 per risposta № 2

Che dire:

$ righe.hover ( funzione(){ $ (questo) .find (". label"). toggle (); }, funzione(){ $ (questo) .find (". label"). toggle (); } );