2010-07-29 65 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選擇器。其他建議的解決方案確實可行,但我仍然樂於接受建議。