テキストエリアで機能するJavascript onchange(Symbianブラウザー)
-
19-08-2019 - |
質問
これは、Symbian以外のモバイルオペレーティング環境にも適用される可能性があります...ただし、問題は、テキストエリアフィールドを変更するときに、入力時にカウントを更新したいということです。これは、textareaタグで次のようなものを使用して、ほとんどのブラウザーで簡単に実行できます。
onkeyup="document.getElementById('size').innerHTML=this.value.length;
ただし、Symbianでは、onkeyupイベントは正常に発生していないようです(すべての入力がバッファリングされているか、何かがあるようです)。これを次のように置き換えることができます:
onblur="document.getElementById('size').innerHTML=this.value.length;
...これは正常に機能しますが、もちろん、フォーカスが失われたときにのみDIVを更新します(入力するよりも更新するのと同じくらい良いことではありません)。
Symbianで特にこのような問題に遭遇した人はいますか?他のモバイルブラウザーでは?アイデア/ソリューションはありますか?
Symbianを使い始めて以来、私はSymbianが嫌いです。APIにはこのような奇妙な点がたくさんあります。 Symbianに不満を持っている人は誰でも投票します。 ;-)
解決
WebKitのSymbianバージョンでは、キーボードイベントが非常に混乱しています。それらを処理する唯一の信頼できる方法は、ドキュメントにハンドラを設定することです[!]。今、私はtextareaにフォーカスがある状況でそれを試していませんが、より簡単なコントロールで確実に動作します。基本的に、onfocusとonblurを使用して、コントロール固有のイベントハンドラーをドキュメントに関連付け/関連付け解除します。もちろん、再利用可能なウィジェットをそのように作成したい場合は、次のような苦痛が待っています:(
OTOH、Symbianの小さなキーボードの癖に不満がある場合は、AndroidのミニChromeのマウスイベントを見てください...それらはFUBAR見出しの下にあります!
...最大...
PS。さらにヘルプが必要な場合:max-at-motovilov-dot-com。 forum.nokia.comでこの問題をGoogleで検索できるはずですが、そこにある情報は豊富ではありません...それはすべて試行錯誤です。