唯一の問題がAndroidデバイスである場合は、他のすべての人にonkeyupを使用することをお勧めします。次に、それがAndroidであるかどうか(または入力でキーアップがサポートされているかどうか)を検出し、必要に応じて、Android固有のソリューションを実装できます。
function submit(){
function submitNow() {
var textValue = document.getElementById("foo").value;
alert(textValue);
}
if(isAndroid) {
setTimeout(submitNow, 10);
}
else {
submitNow() ;
}
}
var isAndroid = navigator.userAgent.toLowerCase().indexOf("android") > -1;
var eventType = (isAndroid) ? "keyup" : "keypress" ;
document.getElementById("foo").addEventListener(EventType, submit);
その後、入力からを削除できonKeyPress = "submit();"
ます。
Androidを使用していない場合、このコードはキーアップイベントを使用して正常に動作します。クライアントがAndroidを使用している場合、入力が更新されるのに十分な時間である1/100秒待機しますが、短すぎて目立たなくなります。
通常、キーを長押ししないように警告しますが、それらをサポートするAndroidキーボードを認識していません。
Androidソリューションのみ:
function submit(){
function submitNow() {
var textValue = document.getElementById("foo").value;
alert(textValue);
}
setTimeout(submitNow, 10);
}
document.getElementById("foo").addEventListener("keyup", submit);
onKeyPress = "submit();"
あなたが本当にそれを感じたなら、あなたはあなたを保つことさえできます。ここで最後の行を削除するだけです。