当用户在<input>
元素未聚焦时开始输入时,我希望用户的输入进入文本输入元素。我通过在keydown处理程序中调用$input.select()
来实现此目的,如果输入尚未集中。
这适用于英语,但Chrome 44和Firefox 39之间的日语输入行为不同(在OSX中;我还没有在Windows中测试过)。我的目标是在Chrome中实现Firefox的行为。
重新执行
预计 (适用于Firefox但不适用于Chrome)
输入值为&#34;えいご&#34;,允许我选择&#34;英语&#34;从下拉列表。
观察到的
输入值为&#34; eいご&#34;
$(function() {
var $input = $('input:first');
$(window).on('keydown', function(e) {
if ($input.is(':focus')) {
return;
}
$input.select();
});
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
&#13;
答案 0 :(得分:1)
答案:这是铬的一个错误;截至2015年12月无法修复。
W3c草案API http://www.w3.org/TR/ime-api/可以提供帮助,但是看一下http://caniuse.com/#search=inputmethod,解决方案听起来不太可能有一段时间。