2
我已經減少到最小代碼來顯示此問題。問題是,在我的電腦上,這在Chrome上運行良好,但在我的Android上的Chrome上,它無法正常工作。首先,高度簡化的代碼:Android Chrome瀏覽器輸入onkeydown
<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=''
部分做。如果我註釋掉該行,它可以正常工作(但在按第一個鍵時不會擦除「示例」一詞)。
更新:我在iPhone上測試了這個。它正確顯示了第一個按鍵的字母。所以,這僅限於Android或Android的Chrome。
這個解決方案工作在鍵盤上拖動手指爲了我 –