我需要link
根据某些情况更改 jQuery mobile 中的后退按钮。但是以下方法不起作用。
$.mobile.activePage.find('a[data-rel="back"]').attr('href',"#newPage");
在控制台中,它显示了新的 url,但它不起作用。另外,谁能告诉在 jQuery 移动中修改后退按钮历史记录的正确方法?
我需要link
根据某些情况更改 jQuery mobile 中的后退按钮。但是以下方法不起作用。
$.mobile.activePage.find('a[data-rel="back"]').attr('href',"#newPage");
在控制台中,它显示了新的 url,但它不起作用。另外,谁能告诉在 jQuery 移动中修改后退按钮历史记录的正确方法?
如果你想在点击它时重定向,你必须data-rel
从标签中删除,因为它的优先级更高。这是我如何让它工作的。a
data-rel
href
#mypage1
,,,,animals
page3
在pagebeforeshow
具有后退按钮的第二页上,我将这段代码放入其中,我将其更改href
为重定向到#page3
:
$(document).on("pagebeforeshow", "#animals", function (e) {
var $a = $.mobile.activePage.find('a[data-rel=back]');
$a.attr("href", "#page3");
$a.removeAttr("data-rel");
});
请注意,pageinit
在这种情况下不会起作用,因为该activePage
对象仍将指向旧页面。
演示:http: //jsfiddle.net/hungerpain/rDtKL/2/
将此事件绑定到a
与data-rel
它的集合上。您可以将其绑定在pageinit
:
$(document).on("pageinit", "#animals", function (e) {
$(this).on("click", "[data-rel=back]", function (e) {
e.stopImmediatePropagation();
e.preventDefault();
$.mobile.changePage("#page3");
});
});
请注意,您必须同时使用两者 stopImmediatePropagation
并preventDefault
在点击时完成这项工作。
演示:http: //jsfiddle.net/hungerpain/rDtKL/3/
以编程方式将该按钮添加到您的header
,以便您可以决定是否需要该data-rel
属性。
您可以向按钮添加 id="backchange" 并更改 jQuery 中的文本:
$("#backchange .ui-btn-text").text("nextext");