Ich möchte die Hintergrundfarbe des ausgewählten li-Elements ändern, aber mein Code funktioniert nicht wie erwartet, es ändert die Hintergrundfarbe, aber nur für eine Sekunde, ich möchte, dass die Hintergrundfarbe geändert wird während es noch das ausgewählte Element ist, das ist mein CodeProblem Hervorhebung ausgewähltes li-Element
$('#campoBuscarProducto').keydown(function(e) {
if (e.keyCode === 40) {
++contador;
if (contador >= resultado) { contador = 0; }
if (contador <= resultado - 1) {
$('#listaDeProductos > li').removeClass('cambiandoProducto');
$('#listaDeProductos > li').eq(contador).addClass('cambiandoProducto');
}
}
if (e.keyCode === 38) {
--contador;
if (contador < 0) { contador = resultado - 1; }
if (contador >= 0) {
$('#listaDeProductos > li').removeClass('cambiandoProducto');
$('#listaDeProductos > li').eq(contador).addClass('cambiandoProducto');
}
}
}); //Missing close parenthesis :-)
Klasse Dies ist mein CSS ist:
.cambiandoProducto {
background-color: red;
}
haben Sie eine Vorstellung davon haben, was ich bin fehlt oder was mit der Ausgabe ist mein Code? vielleicht etwas im Zusammenhang mit der keydown
Veranstaltung ?, danke.
Die ul
Liste wird nach success
Funktion mit diesem Code erzeugt
$.each(datos, function(i) {
opciones += '<li class="sugerencias">' + datos[i].nombre + '</li>';
});
resultado = datos.length;
$('#coincidenciasBusqueda').show();
$('#coincidenciasBusqueda').html('<ul id="listaDeProductos">'+ opciones +'</ul>');
Haben Sie einen Fehler in Ihrer Konsole? Haben Sie auch versucht, '! Wichtig 'in Ihrem CSS zu setzen? –
teilen Sie bitte auch HTML-Code –
Bitte lesen Sie dies: [MCVE]. Vor allem der überprüfbare Teil - es scheint keinen offensichtlich falschen Code zu geben, also könnte es etwas anderes geben, das das Problem verursacht - besonders wenn es rot für "nur für eine Sekunde" sagt. –