你試過路過,在一個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