Android Chrome输入onkeydown

时间:2015-09-03 18:02:41

标签: javascript android google-chrome onkeydown

我已将此缩减为最小代码以显示此问题。问题是,这在我的计算机上的Chrome上工作正常,但在我的Android上的Chrome上,它无法正常工作。首先,高度简化的代码:

<html><head><script language='javascript'>
function kd(e) {
  inp = document.getElementById('myinput');
  if(inp.value=='example') inp.value='';
  return true;
}
</head><body>
  <input type='text' id='myinput' value='example'
  onkeydown='return kd(event);'>
</body></html>

在我的计算机上,我将光标放在说明示例的框中。我按任意键。 “示例”这个词消失了,我按下的任何字母都出现了。

现在,在Android / Chrome上,我将光标放在说明示例的框中。我按任意键。 “示例”这个词消失了,但我写的字母没有出现。如果我按另一把钥匙,它会显示那封信。我可以继续打字。它只是拒绝显示我按下的第一个字母。

这显然与javascript的value=''部分有关。如果我注释掉该行,它可以正常工作(但在按下第一个键时不会删除单词“example”)。

更新:我在iPhone上测试了这个。它正确显示了第一个按键的字母。因此,这仅限于Android或Android的Chrome。

1 个答案:

答案 0 :(得分:1)

清除输入焦点上的文字

$('input').val('');

以及使用keyup事件的更好做法,因为用户倾向于将手指放在您想要的键盘上,以确保获得他们想要的内容