在jQuery中重写搜索建议

时间:2010-07-29 17:50:51

标签: jquery search keyboard-events

首先,我知道有搜索建议的jQuery插件。我问这个的原因是因为我为我的特定需求编写了一个,我有兴趣学习如何在jQuery中创建脚本(而不仅仅是使用插件)。看看我粘贴到pastebin的代码 - 我希望没问题。

原文:http://pastebin.com/VFuXY4iX

有点jQuerified:http://pastebin.com/S86ES8bH

我正在努力解决的两件事情如下:

- 原始(以及当前的jQuery)通过其DOM子索引访问子节点(请参阅unhilite()函数)。我还没有找到在jQuery中执行此操作的方法。我能找到的最接近的是.next("selector"),但是除了DOM索引之外,元素没有我可以键入的选择器。我想通过做类似的事来克服这个问题:

$('.hilited')
    .next('li')
        .addClass('hilited')
    .end()
    .removeClass('hilited');

这会运作良好吗?编辑:即使它运行良好,有没有办法访问这样的DOM索引(以供将来参考)?

- 其次,我不知道具体如何用jQuery绑定键盘事件(不使用插件,我想避免 - 再次出于学习目的)。我认为bind()keydown()可能有用。

$('#target').keydown(function(event) {
    if (event.keyCode == '40') {
        //next
    } else if (event.keyCode == '40') {
        //previous
    }
)};

有人有什么建议吗?谢谢你,你是我的最爱!

对于任何不熟悉的人来说,PS-sajax_do_call都是Mediawiki AJAX语法...

1 个答案:

答案 0 :(得分:0)

我回答了一些自己的问题。如果我愿意,我可以使用jQuery的nth child选择器。其他建议的解决方案确实有效,但我仍然愿意接受建议。