首先,我知道搜索建议有 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 语法,适用于任何不熟悉的人...