jQuery keyup 改变了颜色,但之后它又变成了原来的颜色

标签 jquery html css ajax

我正在尝试更改当前 <tr> 的颜色选中,使用键盘的向上键向下键导航。

显示是 Ajax 请求的结果,结果是一个包含 n 行的表格。每行是节目的名称。我将表格放在输入字段下方(用于搜索)。

输入框:

<form action="/Search" method="post">
    <input id="search" class="search-input" type="text" name="query" title="Search" autocomplete="off">
</form>
</div>

结果表:

<div id="search_results"><table class="autocomplete">
<tbody>
    <tr>
        <td><a href="/Shows/Details/Breaking%20Bad">Breaking Bad</a></td>
    </tr>
    <tr>
        <td><a href="/Shows/Details/Prison%20Break">Prison Break</a></td>
    </tr>
</tbody></table></div>

这是我用来更改行颜色的代码:

$("#search").keyup(function (e) {
                    if (e.which == 40) {
                            $("#search_results tr:nth-child(1)").css("background", "#D6D6FF");
                    }
                });

问题是它确实改变了颜色,但 1 秒后,它又变成了原来的颜色。我看到了一些示例,我认为这应该可以正常工作。

http://jsfiddle.net/cnq4u/

最佳答案

嘿,我想我明白了。

var currentChild = 0;

$("#search").keyup(function(e) {
    if (e.which == 40) {
        if ($("#search_results tr:nth-child(" + currentChild+++")").length == 0) currentChild = 1;
        $("#search_results tr").css("background", "");

        $("#search_results tr:nth-child(" + currentChild + ")").css("background", "#D6D6FF");
    } else if (e.which == 38) {
        if ($("#search_results tr:nth-child(" + currentChild-- +")").length == 0) currentChild++;
        $("#search_results tr").css("background", "");

        $("#search_results tr:nth-child(" + currentChild + ")").css("background", "#D6D6FF");

    }
});

jsfiddle http://jsfiddle.net/reygonzales/M6Mrf/5/

关于jQuery keyup 改变了颜色,但之后它又变成了原来的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11088782/

相关文章:

html - 适用于 iPad/iPhone/桌面的不同 div 样式

ios - CSS font-family HelveticaNeue-Light 不呈现粗体

html - 为什么我的 SVG 图标在使用 grunt svg sprite 时被剪掉了?

javascript - 在推送菜单上添加多个关闭菜单链接

javascript - jQuery按钮一键二功能

javascript - 使用 DOM 设置背景大小?

javascript - 设置angularJS选择默认值

javascript - 编辑 : How can I dynamically create divs?

javascript - 在 jQuery 中访问 ajax 调用之外的数据

html - 为什么我的 Bootstrap Pills 下拉菜单不起作用?