jQuery mobileから始めていますが、ボタンに問題があります。
Webアプリケーションはショッピングリストです。買い物をするアイテムのリストと、アイテムに対して実行できるアクションのフッターボタンが表示されます。
アクションは次のとおりです。
- 購入するアイテムの数を増やす
- 購入するアイテムの数を減らします
- リスト内のアイテムを上に移動
- リスト内のアイテムを下に移動します
- 新しいアイテムを追加する
- アイテムを削除
- アイテムのテキストの説明を変更する
アクションはjavascriptで実装され、正常に機能します。私が抱えている問題は、ボタンと関連するアクションの制御にあります。
経験上、インクリメントとデクリメントでは、アクティブな状態のボタンを使用する方が便利ですが、他の操作では、選択したアイテムを選択し、ボタンが押されたときに選択したアイテムにアクションを適用することが望ましいことがわかりました。 。アイテムを追加すると、選択したアイテムの前にアイテムが挿入され、アイテムが選択されていないときに押すと、新しいアイテムがリストに追加されます。
また、2つのモードが欲しいです。1つのモードでは、インクリメントボタンとデクリメントボタンのみが表示され、ユーザーはリスト内のアイテムの数を更新できます。他のモードでは、ユーザーはリストを変更しています。選択したアイテムが必要なのは2番目のモードです。
.on()メソッドをデリゲートとして使用して、アイテムリストのデフォルトアクションを関連付けることができました。
$('#itemList').on( "click", ".item", function(evt)
{ ctrl.doAction($(evt.currentTarget)); });
これが私が最初のモードをテストするために使用するhtmlコードです。
<!-- footer -->
<div data-role="footer" data-position="fixed" class="ui-bar" id="btnBar" >
<a href="" data-role="button" data-icon="plus" id="btnPlus"> Plus </a>
<a href="" data-role="button" data-icon="minus" id="btnMinus"> Minus </a>
</div>
<!-- /footer -->
href値として何を入力する必要がありますか?ページをリロードしたくありません。いくつかの例では、「#」が表示されます。
これは、アクションをボタンに関連付ける方法です。
$('#btnPlus').on( "tap", function(evt)
{ ctrl.doAction = ctrl.increment; });
私が抱えているもう1つの問題は、ボタンのクリックアクションに関するフィードバックがないことです。ボタンをクリックすると、短時間ハイライト表示されると思います。これは起こりません。
ブラウザの動作も異なります。Firefoxでは、クリックされたボタンに青いハローが表示され、フォーカスがあることを示しているようです。ただし、ボタンはアクティブとして表示されません。
「#!」を入れたら Androidではhref(意味がわからない)として、クリックされたボタンがアクティブに表示されます。
イベントタイプとしてクリックまたはタップを使用する必要がありますか?クリックまたはタップを書くにはどうすればよいですか?
アクティブと非アクティブとして表示される2つの状態ボタンを実装するにはどうすればよいですか?アクションボタンの使用方法:押すと常に非アクティブでフィードバックが表示されますか?