jQuery Mobile + backbone.js:返回时的页面转换

时间:2012-06-28 16:22:07

标签: jquery-mobile backbone.js

在我的骨干路由器的初始化功能中,我有

$(document).on('click', '.back', function(e) {
    e.preventDefault();
    window.history.back();
});

我定义了我的后退按钮,如

<a data-rel="back" class="back">Back</a>

问题是当我回去时,我想改变过渡和方向(反向=真),目前它使用默认值。

顺便说一下,主干负责创建页面和路由,我只将JQ Mobile用于UI(你可以看到我如何在那里更改页面:jQuery Mobile + backbone.js: navbar issue)。

感谢。

2 个答案:

答案 0 :(得分:7)

我最终做了:

var self = this;
$(document).on('click', '.back', function(e) {
    e.preventDefault();
    self.back = true;
    window.history.back();
});

然后

$.mobile.changePage($(pView.el), {changeHash: false, transition: this.back ? 'slide' : transition, reverse: this.back});
this.back = false;

答案 1 :(得分:0)

沿着同样的路线:)

var defs = $.mobile.changePage.defaults;
$('a[data-role="button"]').live('click', function(event) {
  var $this = $(this);

  if($this.attr('data-transition')) {
    $.mobile.changePage.defaults.transition = $this.attr('data-transition');
  } else {
    $.mobile.changePage.defaults.transition = defs.transition;
  }

  if($this.attr('data-direction')) {
    $.mobile.changePage.defaults.reverse = $this.attr('data-direction') == 'reverse';
  } else {
    $.mobile.changePage.defaults.reverse = false;
  }

  if($this.attr('data-rel') === 'back') {
    window.history.back();
    return false;
  }
});