2014-06-26 100 views
2

我已將https://github.com/mizzao/meteor-autocomplete添加到流星js項目中,並且可以獲取可用選項的列表。我正在使用箭頭向上和向下鍵來標記我的輸入並進入選擇它。但隨後光標從輸入字段移出焦點,因此我無法再次按Enter鍵提交表單。我必須點擊表格上的按鈕來執行提交。

HTML:在流星j的自動完成中保留輸入焦點

<div class="controls"> 
    {{> inputAutocomplete settings=settings id="name" name="name" placeholder="Name" }} 
</div> 

我更加關注的js文件,但之前我從列表中選擇一個項目它不僅可以幫助:

Template.raceAddParticipant.rendered = function() { 
    document.getElementById("name").focus(); 
}; 

我如何規避呢?

認爲克勞斯

回答

0

(我寫了這個包。)

我猜你在單場模式下使用自動完成。我實現了這個功能,以防止彈出菜單在選擇後保持打開狀態。默認情況下,只要字段關注(並且匹配),彈出菜單就會保持打開狀態,並且回車按鈕進行選擇。

您對這種行爲如何改善有何建議?如果是這樣,也許你應該在GitHub上打開一個問題。

+0

謝謝。是的,我處於單場模式。最好的辦法是將光標放在文本的末尾,就像在這種類型的演示中一樣:http://typeahead.meteor.com/。這樣您只需要再次按下輸入提交表單。 – kometen

+0

@kometen我現在無法訪問該網站,但我要說的是,如果光標停留在文本末尾並且該字段已關注,那麼自動完成菜單將保持打開狀態,並且會捕獲輸入事件。我們可以將它關閉,但其他任何按鍵都會導致它再次打開。爲什麼用戶不能進入提交按鈕? –

+0

謝謝你的時間。我最終在Template.raceAddParticipant.rendered使用正則表達式的mongodb中使用jquerys automcomplete與函數調用。這將返回一個數組,然後在窗體中使用type = hidden。 js-file:https://github.com/kometen/karusselrenn/blob/master/client/views/races/race_add_participant.js – kometen