gpt4 book ai didi

javascript - 突出显示所选 li 元素的问题

转载 作者:太空宇宙 更新时间:2023-11-03 21:19:11 25 4
gpt4 key购买 nike

我想更改所选 li 元素的背景颜色,但我的代码没有按预期工作,它更改了背景颜色,但只是一秒钟,我希望它保持背景颜色更改,同时它仍然是选中的元素,这是我的代码

 $('#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 :-)

这是我的 CSS 类:

.cambiandoProducto {

background-color: red;
}

您是否知道我遗漏了什么或我的代码有什么问题?也许与 keydown 事件有关?谢谢。

ul列表是在success函数后用这段代码生成的

$.each(datos, function(i) {

opciones += '<li class="sugerencias">' + datos[i].nombre + '</li>';
});

resultado = datos.length;

$('#coincidenciasBusqueda').show();
$('#coincidenciasBusqueda').html('<ul id="listaDeProductos">'+ opciones +'</ul>');

最佳答案

我解决了这个问题,问题是我使用 keydown 监听器运行代码来更改所选 li 元素的背景颜色,但在运行我的之前ajax 调用我正在使用 keyup 事件监听器,这些监听器关联到相同的 input 但在不同的函数中,所以这会产生问题。

解决了这个用keypress更改keyup事件监听器的问题,现在它工作得很好,谢谢大家的帮助.

这是我的错误,我很抱歉没有更好地解释我是如何运行我的 ajax 调用的。

关于javascript - 突出显示所选 li 元素的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39083044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com