すっかりMonacaづいてるくまかけです!

あいかわらずinputタグの動作にはハメられています(^^;

Androidではきちんと動くんだから、iPhoneでも動いてくれたらいいんですが、どっこい、そうもいかないシーン満載です。。。

先日は、フォーカスが抜ける件でドタバタしたし(^^;

今回ハマったのはこんな現象。

前提

・2つの数値入力フィールドがあり、どちらかの値が変更された差分を計算します。

・入力フィールドは<input type=numeric … >とons-inputは使っていません。

・数値が入力されたことの検出にはonKeyUpイベントで処理をしています

現象

たとえば、1000と入力すると、iPhoneでは1…と表示され、候補に1000が出てくるのでそれをクリックします。

入力フィールドには1000が設定されるのですが、差分計算が動作しません。

ここで、「確定」→「改行」になっているボタンをクリックすると、差分計算が動作しました。

ちなみに、iPhoneの設定で「フリックしか使わない」としてると、1…という結果にならず、きちんと1000となってくれて、差分計算が動作します。

※わたしのiPhoneは「フリックしか使わない」としているので、1…が表示されず、現象の再現に悩みました(^^;

現象からすると、onKeyUpイベントが候補を選択しただけでは発火せずに、「改行」をクリックすることで発火するようです。

対策

今回はtype=numericとしているので、onChangeイベントはNGなので、もう一つのイベント。

そう、onInputイベントを利用しました。

いつもながら、なかなかにハメられ・・・・いやいや、勉強させられます。

この試練は次回からのにしっかり生かさせてもらいます(^^)

あとがき。。。。

Androidで作ってテストしてからiPhoneの動作確認としてきたのですが、感覚としてAndroidで動いたからと言ってiPhoneでは動作しないケースが散見されます。

その逆は、ほぼ体験していません。

そのため、iPhoneで動作革新してからAndroidで動作確認をするようにしています。

このときは、LocalKitのリモートデバッグが便利です(^^)