1

モバイル アプリのボタンの背景を変更しようとしています。Click イベントが遅すぎるように見えるので、vmousedown を使用しました。これは機能しますが、ページごとに 1 回だけです。私はこれをやっています。

Mousedown
$(.headerNavBar).on('vmousedown','.logout',function() {
$(this).removeClass('ui-bar-c').addClass('ui-bar-c');
});
Mouse UP
$(.headerNavBar).on('vmouseup','.logout',function() {
$(this).removeClass('ui-bar-c');
});
$(.headerNavBar).on('tap','.logout',function() {
$(this).removeClass('ui-bar-c');
});

HTMLは

<li><a href="#" class="logout" data-icon="back" data-theme="b">Log out</a></li>

ボタンは JQueryMobile ページのコンテンツ ブロックにあります。

背景のグラデーションを変更するより良い方法があれば、それも問題ありません。

更新: インスペクターで、クラスが追加および削除されていることに気付きました。ページ上で更新されていません。

4

2 に答える 2

1

親要素またはドキュメントを使用してイベントをバインドし、セレクターを指定します。vmousedown があることを確認できる 2 番目のことは、mousedown であり、vmouseup についても同じです。

マウスダウン

$(document).on('vmousedown','.logout', function() {
   $(this).removeClass('ui-bar-c').addClass('ui-bar-c');
});

マウスアップ

$(document).on('vmouseup','.logout', function() {
      $(this).removeClass('ui-bar-c');
});
于 2012-10-31T14:56:30.860 に答える
0
$('body').delegate('.logout','vmousedown', function() {
   $(this).removeClass('ui-bar-c').addClass('ui-bar-c');
});
于 2012-10-31T14:59:48.940 に答える