在背面按

时间:2017-02-08 12:53:51

标签: javascript android jquery twitter-bootstrap meteor

我有一个适用于网络和移动平台的流星应用程序。

我有一个bootstrap模式,每当用户按下浏览器的后退按钮(在Web应用程序中)或设备的后退按钮(在移动应用程序中)时,我都需要解除模态。

目前,当我按下(浏览器/设备)后退按钮时,模态消失而没有任何动画,模态的褪色背景仍会显示,用户将被带到上一页。

我想要的是当模态打开时,模态(连同背景)应该通过动画消除,用户应该保留在当前页面上。

这是我的相关代码:

$(window).on('popstate', this.handleBackPress);
document.addEventListener("backbutton", this.handleBackPress, false);

...

handleBackPress(event) {
    event.preventDefault();
    event.stopPropagation();

    $('.modal').modal('hide');
}

谢谢:)

更新

在android中使用以下代码正确地解析模态,并保持在同一页面上。但现在,它永远不会允许背压事件传播。

document.addEventListener("backbutton", this.handleBackPress);
...

handleBackPress(event) {
    $('.modal').modal('hide');
}

3 个答案:

答案 0 :(得分:0)

在你的函数中,添加$('。modal-backdrop')。remove();

handleBackPress(event) {
  event.preventDefault();
  event.stopPropagation();
  $('.modal').modal('hide');
  $('.modal-backdrop').remove();
}

至于淡化效果,你的模态应该附加一个淡化类: class =“modal fade”

答案 1 :(得分:0)

试试这个:

 $('#modalid').modal('toggle');

您的代码将是这样的:

 handleBackPress(event) {
   event.preventDefault();
   event.stopPropagation();

   $('.modal').modal('toggle');
}

答案 2 :(得分:-4)

试试这个:

    $('#backbutton').click(function() {
    $('.modal').modal('hide');
});