我有一个jquery mobile和backbone的小手机应用程序。 我试图通过手动调用.popup()方法来向用户显示弹出窗口。jQuery.mobile弹出后立即隐藏显示
一切正常iOS上,但在Android上我得到了奇怪的问题:弹出窗口显示了片刻,不是消失。
这里的实际代码:
var PostView = Backbone.View.extend({
events: {
'touchend .add-comment-button': 'addComment'
},
addComment: function() {
this.$(".comment-popup").popup('open', { history: false });
return false; // Stop bubbling.
}
});
我使用的历史:假的,因为这个弹出的子页面actualy一部分。代码看起来很简单,我只是不明白为什么它可以消失,以及为什么这只发生在Android设备上。
谢谢,对不起我的英语不好。
我没有使用Backbone,而在我的应用程序中,问题出现在iOS(6.0.1),而不是Android(4.0.3)(jQuery Mobile版本是1.2)上。我只需要第2步 - 切换到“点击”事件来解决它。为我工作的另一种解决方案 - 允许我坚持使用触摸事件 - 在最终调用'popup('open')'的事件处理程序的开始事件对象上调用preventDefault()'。 – mklement0
这个问题仍然出现在JQueryMobile 1.4.5 - 从'tab'改为'click'也为我解决了它。 – Barsum