您是否尝试过传入 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()
了现在已贬值的(从 jQuery Core 1.7 开始).delegate()
。.live
如果您使用的是 jQuery Core 1.7 或更新版本,则可以.on()
改用。
文档.live()
:http ://api.jquery.com/live