我需要根据某些情况更改jQuery mobile中的后退按钮link
。但是以下方法不起作用。
$.mobile.activePage.find('a[data-rel="back"]').attr('href',"#newPage");
在控制台中,它显示新的网址但不起作用。另外,有人能说出在jQuery mobile中修改后退按钮历史记录的正确方法吗?
答案 0 :(得分:1)
如果要在点击时重定向,则必须从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
对象仍将指向较旧的页面。
将此事件绑定到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");
});
});
请注意,您必须使用 {/ 1>} stopImmediatePropagation
和preventDefault
来完成此工作。
演示:http://jsfiddle.net/hungerpain/rDtKL/3/
以编程方式将该按钮添加到header
,以便您可以决定是否需要data-rel
属性。
答案 1 :(得分:0)
您可以在按钮中添加id =“backchange”并更改jQuery中的文本:
$(“#backchange .ui-btn-text”)。text(“nextext”);