I have create an popup menu in my app the problem with it is when i open the popup menu and then scroll the page the popup menu also scrolls up with the page even i tried using data-dismissible="false" but nothing happen still the problem remains same. Thanks in advance.
问问题
2393 次
3 回答
2
这个问题有一个简单的解决方法。只是在弹出窗口处于活动状态时防止页面滚动。
工作jsFiddle
示例:http: //jsfiddle.net/Gajotres/aJChc/
为此,弹出窗口需要有一个属性:data-dismissible="false"
当在弹出窗口外部单击时,它将防止弹出窗口关闭。可以使用另一个属性:data-overlay-theme="a"
它将为弹出覆盖 div 着色。这是一个 DIV,它在弹出窗口打开时覆盖屏幕并防止弹出窗口关闭。
这个 javascript 将适用于所有可能的弹出窗口:
$(document).on('popupafteropen', '[data-role="popup"]' ,function( event, ui ) {
$('body').css('overflow','hidden');
}).on('popupafterclose', '[data-role="popup"]' ,function( event, ui ) {
$('body').css('overflow','auto');
});
于 2013-07-03T08:28:24.443 回答
1
对我来说,这种方法不起作用,它适用于浏览器,但不适用于 Phone Gap 应用程序。所以我以这种方式解决它:
$('#Popup-id').on({
popupbeforeposition: function(){
$('body').on('touchmove', false);
},
popupafterclose: function(){
$('body').off('touchmove');
}
});
希望能帮助到你!
于 2013-11-04T12:15:55.703 回答
0
如果不阻止正文滚动,请尝试以下操作。就我而言,我使用的是boilerplate.css,因此防止正文滚动不起作用。
popupafteropen: function (e) {
$('html').css('overflow', 'hidden');
},
popupafterclose: function (e) {
$('html').css('overflow', 'auto');
}
于 2013-12-26T10:44:15.920 回答