jquery-mobile を使用してモバイルテーマを構築しています。
//Swipe to reveal delete icon
$(".swipe-delete li").on("swipe", function(e) {
$(".swipe-delete .delete").remove();
$(this).find(".ui-btn-inner").append('<div class="delete"><a href="#">Delete</a></div>');
});
//Click to delete fav from list
$(document).on("click", ".swipe-delete .delete a", function() {
$(this).closest("li").remove();
});
//Currently playing
$(".ui-listview li").on("click", function() {
$(".ui-listview .playing").remove();
$(".swipe-delete .delete").remove();
$(this).find(".ui-btn-inner").append('<div class="playing"><a href="#">Playing</a></div>');
});
そこで、ボタンを削除するためにスワイプを実装しています。現在再生中のセクションを有効にするまで、正しく動作します。有効にすると、削除ボタンをクリックしようとすると、現在再生中の関数によってイベントが傍受され、メソッドremove()
が呼び出されません。
動作を確認するには、このサイトにアクセスしてください。
フッターの「お気に入り」をクリックします。リストビューをスワイプして、削除ボタンを表示します。クリックしてみると、削除する代わりに再生ボタンが表示されます。