我需要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从标签中删除,因为它的优先级更高。这是我如何让它工作的。adata-relhref
#mypage1,,,,animalspage3在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");