你试过路过,在一个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
我试图传递对象给它,并试图用你的前缀#的id sugjestion。这两个都导致了萤火虫的这个错误。 TypeError:b.split不是函数 – hcker2000 2012-08-06 17:48:02
@ hcker2000我添加了演示来显示我的代码工作。看到这里:http://jsfiddle.net/V3CXF/ – Jasper 2012-08-06 19:03:42
谢谢我不知道这是否是一个错误,但由于某种原因,如果你使用一个数字作为id它无法正常工作。它必须有一些文本才能正常工作。我也重新调整了js小提琴以适应1.7 +的.on方法,它将与jquery对象而不是id一起工作。 http://jsfiddle.net/qGJpt/7/ – hcker2000 2012-08-06 19:36:10