このMeteorクライアントイベントは、デスクトップブラウザで正常に機能しますが、モバイルブラウザ「Chrome」では同じことをしません。keypressがモバイルブラウザで動作しない
"@"の後に "g"のキー入力を検出し、 "@ gmail.com"と置き換えます。
どのように携帯電話でも動作するようにするには? Android版Chromeで"keypress"
イベントが面倒であるようTHX
Template.input.events({
'keypress input': function (evt, template) {
if (evt.which === 13) {
//do stuff
}
else if (Session.get('taskSelected') === 'walk') {
if (evt.which == 103) { // "g" has been typed do gmail.com
utility.inputReplaceWith('gmail.com', evt);
}
else if (evt.which === 121) { // "y" for yahoo.com
utility.inputReplaceWith('yahoo.com', evt);
}
else if (evt.which === 104) {
utility.inputReplaceWith('hotmail.com', evt);
}
}
}
});
inputReplaceWith: (text, evt) => {
let elem = document.getElementsByName('email')[0].value;
if (elem.slice(-1) == '@') { // last char is "@"
evt.preventDefault();
document.getElementsByName('email')[0].value = elem + text;
}
},
可能な重複して
textInput
イベント(https://stackoverflow.com/questions/があります30743490/capture-keys-on-android-virtual-keyboard-using-javascript) – reyiyo