2013-04-12 2 views
6

Как можно прослушивать ключевые события (keyup, keydown, keypress) в хроме omnibox?Добавить событие нажатия клавиш на омнибокс в хромовом расширении

До сих пор я только что нашел:

chrome.omnibox.onInputStarted.addListener(function() {...}); 
chrome.omnibox.onInputChanged.addListener(function(string text, function suggest) {...}); 
chrome.omnibox.onInputEntered.addListener(function(string text) {...}); 
chrome.omnibox.onInputCancelled.addListener(function() {...}); 

Edit:

Проблема с onInputChanged события, что это не срабатывает, когда пользователь использует клавиши со стрелками, чтобы перейти к одно из предложений.

+1

Нет, это не возможно. 'onInputChanged' должно быть достаточным для большинства случаев использования. Можете ли вы расширить свой вопрос, чтобы объяснить, что вы пытаетесь сделать, и уточнить, почему 'onInputChanged' недостаточно для ваших нужд? – apsillers

+0

Я обнаружил, что теперь он называется 'chrome.searchBox' ... кто-нибудь еще нашел, что это изменилось и какая версия? – marksyzm

ответ

3

Я не смотрел на источник, однако, есть пример здесь: http://developer.chrome.com/extensions/samples.html#be68e4d262d74d2457999fc402f5bf5e

Я просто попытался его (тип «Omnix s» в омнибокс), и может сообщить, чем при использовании клавиш со стрелками для перехода к одному из предложений о том, что отображается предупреждение, информируя меня о выбранном параметре.

Примечание: Это работает только если выбран параметр отображается значок внутреннего абонента рядом с ним

+0

да, но вы должны выбрать его, нажав '' 'return''' – HaNdTriX

+0

О, да, да действительно - введите, чтобы подтвердить выбор. Кажется, что уведомление не отображается до тех пор, пока не будет выбрана опция - точно так же, как элемент html 'select' или (если я правильно помню) winbox combo-box. Я предполагаю, что это логическое обоснование - выбор не изменился до тех пор, пока не будет сделан новый выбор. «просмотр» выбранных событий без событий. – enhzflep