-1

Yii ベースの Web サイトを Android フォンで適切に動作するように適応させようとしています。

1 つの問題は、データ入力フォームのチェックボックスが指よりも小さいことが多いことです。チェックボックス (または小さいアイテム) をタップすると、指が少し離れている場合、フォーム要素全体が強調表示されて点滅します。これは、フォームの空白の領域をタッチした場合と同じ動作です。フォームの四角形全体がオレンジ色に点滅し、電話はタップ/クリック音を発します。

チェックボックスはまだ正常に切り替わります。チェックボックス (またはそのラベル) をタップすると、フォーム全体がオレンジ色に点滅するので、視覚的に混乱しているように見えます。

アップデート

「フォーム要素をタップ/クリックに応答させることで、Android ブラウザーは何をしようとしているのですか?」という質問の方が適切かもしれません。フォームを少しでもズームすると、どこでもタップでき、フォーム コントロールのみが応答します (これは望ましい動作です)。ただし、1:1 にズームアウトすると、テキスト フィールドの外側をタップすると、フォーム要素全体がオレンジ色に点滅します。フォルムは1:1でぴったりと収まるように設計されています。Android ブラウザーの経験が豊富な人がなぜこれを行うのかを理解し、動作を改善する方法を提案してくれることを期待していました。

4

1 に答える 1

0

これは、validateOnSubmit が true に設定されている場合の yiiactiveform.js の副作用であることが判明しました。この場合、スクリプトは送信およびマウス イベント ハンドラーを追加します。これにより、Android ブラウザー (場合によっては他のタッチ ベースのブラウザー) が、テキスト ボックス以外のフォームのほぼどこでもクリック/タップに視覚的に応答します。

ズームインがこの動作に影響を与える理由はわかりませんが、何らかの理由で影響があります。

とにかく、最も簡単な解決策は、validateOnSubmit オプションを無効にすることです。他の唯一のオプションは、問題のあるフォーム イベントにバインドしないように yiiactiveform.js を書き直すことです。カスタムバージョンは、フォームイベントにフックしようとするのではなく、送信ボタンから明示的に呼び出されることに頼ることができると思います.

于 2013-06-10T19:38:32.250 に答える