Android 在显示键盘的同时,是否可以在Firefox mobile中处理jQuery输入事件?

Android 在显示键盘的同时,是否可以在Firefox mobile中处理jQuery输入事件?,android,jquery,firefox,Android,Jquery,Firefox,我正在尝试捕获文本输入上的输入事件。我使用jQuery处理keyup事件来填充匹配列表(自动完成列表)。这在股票浏览器和其他浏览器(如Maxthon)上运行良好,但在Firefox mobile中,显示键盘时不会发生任何事情——我必须按enter键或隐藏键盘才能正常工作 我正在使用jQuery 1.7.2、Android 2.3和最新版本的Firefox(我相信是10)。我还尝试了其他事件,如input和keydown,但没有任何运气 在显示键盘时,Firefox mobile是否可以处理按键/

我正在尝试捕获文本输入上的输入事件。我使用jQuery处理
keyup
事件来填充匹配列表(自动完成列表)。这在股票浏览器和其他浏览器(如Maxthon)上运行良好,但在Firefox mobile中,显示键盘时不会发生任何事情——我必须按enter键或隐藏键盘才能正常工作

我正在使用jQuery 1.7.2、Android 2.3和最新版本的Firefox(我相信是10)。我还尝试了其他事件,如
input
keydown
,但没有任何运气


在显示键盘时,Firefox mobile是否可以处理按键/输入事件?

问题是,当Android键盘上打开单词建议时,Firefox在键盘“猜测”单词时不会触发按键事件,尽管值会发送到文本字段。我会说这是Firefox中的一个bug,但我想他们之所以选择这样做,是因为如果键盘提示的内容与您编写的内容不同,那么按键的结果与字段得到的值不一致

我通过使用一个嗅探器来解决这个问题,该嗅探器检查值是否发生了变化

var $searchField;
var _keypressWatchingTimer = 0;
var _previousTerm = '';

function keypressStartWatching() {
  keypressStopWatching();
  _keypressWatchingTimer = setInterval(executeAutocomplete, 100);
}

function keypressStopWatching() {
  if (_keypressWatchingTimer != 0) {
    clearInterval(_keypressWatchingTimer);
    _keypressWatchingTimer = 0;
  }
}

function executeAutocomplete() {
  var searchTerm = $searchField.val() || '';
  if (_previousTerm == searchTerm)
    return false;
  searchApi.autocomplete(searchTerm);
  _previousTerm = searchTerm;
}

function init() {
  $searchField = $('#searchField')
    .focus(keypressStartWatching)
    .blur(keypressStopWatching)
    .keyup(executeAutocomplete);
}

init();

这个项目已经完成,没有FF的支持,但我会接受这个答案,因为它似乎是合理的。