3

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

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

我定义了我的后退按钮

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

问题是我想在返回时更改过渡和方向(reverse = true),目前它使用默认值。

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

谢谢。

4

2 回答 2

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;
于 2012-07-10T19:46:33.803 回答
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;
  }
});
于 2012-12-15T09:49:27.190 回答