ボタンがいくつかある jQuery Mobile サイトがあります。ビューポートが 640 ピクセル以上の場合はボタンの右側にテキストを表示し、それ以外の場合はテキストを非表示にしたいと考えています。
その目的のために意図されたiconpos
オプション/データ属性について知っており、left
必要なときにテキストを表示するように設定できることとnotext
、そうでないときにテキストを表示できることを知っています。おそらく、属性を変更し、ページの読み込み、方向の変更、ウィンドウのサイズ変更イベントでボタンを更新する Javascript を考え出すことができますが、それは面倒になる可能性があり、ビューポートを引き起こす可能性のあるイベントを忘れているかどうかはわかりません変更する幅。
編集 2:いくつかのブラウザーとデバイスでサイトをテストしましたが、方向の変更、ウィンドウのサイズ変更、スクリーン キーボードの表示と非表示 (これらのことが可能な状況で) により、常にresize
イベントがトリガーされたようですwindow
オブジェクト。もちろん、これがすべてのブラウザーで常に発生するかどうかはわかりません。
ある種のメディア クエリを使用しdisplay
て、テキストの CSS プロパティをビューポートの幅として、inline
またはnone
ビューポートの幅に応じて設定することを考えましたが、jQuery Mobile のコードを見たところ、このiconpos
オプションはテキストの表示以外にも影響を与えるようです。サイズ、タイトル属性、アイコンの位置などに影響するため、CSS だけでは対応できない場合があります。
編集:ボタンがヘッダーにあることを忘れていたので、インライン ボタンの 1 つです。CSS でテキストを非表示にするだけで、見た目がおかしくなります。
ビューポートの幅に基づいてテキストを表示または非表示にする簡単で実用的な方法を知っている人はいますか? または、より一般的な質問として、ビューポートの幅に基づいてデータ属性を変更し、ビューポートの幅が変更されるたびにjQuery Mobileに変更を認識させる方法を知っている人はいますか? データ属性の変更に関する同様の質問を見つけましたが、合理的な回答はありません。