2010-07-29 85 views
0

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

原文: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语法...

+0

嗨,伙计们,这是我见过的最慢的问题。我应该删除它,因为它不值得回答,或者人们不知道,我应该保留它 - 不知道适当的礼仪? – Tim 2010-07-29 19:59:59

回答

0

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