Naj*_*b K 3 jquery-mobile photoswipe cordova
我正在使用此方法更改页面
$.mobile.changePage("Preview.html", {
transition : "slide",
role : "page",
changeHash:true
});
Run Code Online (Sandbox Code Playgroud)
这就是我的预览页面的样子
<div data-role="page" data-name="preview" class="prew">
<div data-role="content">
//content
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
现在当我触摸屏幕时,我必须回到上一页.
所以我创建了这个功能
$('.prew').live('tap', function() {
alert('clicked');
history.go(-1);//<--this works in simulator not in device.
//window.history.back() ;//<--this also works in simulator not on device.
//navigator.app.backHistory();<--this works fine on android not on iOS.
});
Run Code Online (Sandbox Code Playgroud)
编辑:我使用了一个名为photoswipe的插件导致问题.history.go(-1),history.back()或data-rel ="back"在其他页面上正常工作.
photoswipe无法返回上一页.
这是您可以使用的方法.但是,页面应具有唯一的ID才能使其正常工作.
$('.prew').on('tap', function() {
// get the ID of the previous page
var previous = '#' + $.mobile.activePage.prev('div[data-role="page"]')[0].id;
// move to previous page with reverse effect
$.mobile.changePage(previous, {
transition: 'slide',
reverse: true
});
});
Run Code Online (Sandbox Code Playgroud)
我不推荐data-rel="back".根据我的经验,这似乎会导致问题(特别是当用户使用ctrl + f5手动强制重新加载时).
如果您已正确处理历史记录,那么我建议您使用history.back() 功能.
$('.prew').live('tap', function() {
alert('clicked');
history.back();
});
Run Code Online (Sandbox Code Playgroud)
另外我认为在页面标记中使用ID比使用类更好(e.g. id="prew").
| 归档时间: |
|
| 查看次数: |
3032 次 |
| 最近记录: |