Android 在显示键盘的同时,是否可以在Firefox mobile中处理jQuery输入事件?
我正在尝试捕获文本输入上的输入事件。我使用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是否可以处理按键/
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的支持,但我会接受这个答案,因为它似乎是合理的。