文字列ではなく jQuery オブジェクトを渡してみましたか?
$(document).delegate('.ui-page', "swipeleft", function(){
var $nextPage = $(this).next('[data-role="page"]');
// swipe using id of next page if exists
if ($nextPage.length > 0) {
$.mobile.changePage($nextPage, { transition: 'slide' });
}
}).delegate('.ui-page', "swiperight", function(){
var $prevPage = $(this).prev('[data-role="page"]');
// swipe using id of next page if exists
if ($prevPage .length > 0) {
$.mobile.changePage($prevPage, { transition: 'slide', reverse : true });
}
});
ここにデモがあります: http://jsfiddle.net/V3CXF/
それ以外の場合は、有効なセレクターにするために、文字列 ID の先頭にハッシュ マークを追加する必要があると思います。
$(document).delegate('.ui-page', "swipeleft", function(){
var $nextPage = $(this).next('[data-role="page"]');
// swipe using id of next page if exists
if ($nextPage.length > 0) {
$.mobile.changePage('#' + $nextPage[0].id, { transition: 'slide' });
}
}).delegate('.ui-page', "swiperight", function(){
var $prevPage = $(this).prev('[data-role="page"]');
// swipe using id of next page if exists
if ($prevPage .length > 0) {
$.mobile.changePage('#' + $prevPage[0].id, { transition: 'slide', reverse : true });
}
});
ここにデモがあります: http://jsfiddle.net/V3CXF/1/
.live()
現在は減価償却されているため、交換したことに.delegate()
注意してください.live
(jQuery Core 1.7の時点)。jQuery Core 1.7 以降を使用している場合は、.on()
代わりに使用できます。
のドキュメント.live()
: http://api.jquery.com/live