Javascript iPad、iPhone模式对话框滚动问题
我们网站上的各种页面打开JQuery的“模态对话框” 这些在每个web浏览器中都可以正常工作 然而,在iPad或iPhone上观看时会出现问题,我相信这是一个常见问题 在某些页面上,模态对话框对于iPad屏幕来说太大了,因此我需要滚动模态对话框 但是,当我这样做时,对话框不会移动,但背景(即它后面的主屏幕)会滚动 我想在模式打开时禁用背景滚动,但启用模式对话框滚动 我尝试了“溢出:隐藏”下面的“位置:固定”,这为其他人解决了问题,不幸的是,对我来说,问题仍然存在 有没有人有我可以尝试的其他想法/事情 下面是在模式对话框中打开的其中一个页面的代码示例 谢谢Javascript iPad、iPhone模式对话框滚动问题,javascript,jquery,html,ios,Javascript,Jquery,Html,Ios,我们网站上的各种页面打开JQuery的“模态对话框” 这些在每个web浏览器中都可以正常工作 然而,在iPad或iPhone上观看时会出现问题,我相信这是一个常见问题 在某些页面上,模态对话框对于iPad屏幕来说太大了,因此我需要滚动模态对话框 但是,当我这样做时,对话框不会移动,但背景(即它后面的主屏幕)会滚动 我想在模式打开时禁用背景滚动,但启用模式对话框滚动 我尝试了“溢出:隐藏”下面的“位置:固定”,这为其他人解决了问题,不幸的是,对我来说,问题仍然存在 有没有人有我可以尝试的其他想法/
<script>
function myOnLoad() {
window.parent.$('body').css('overflow', 'hidden');
}
</script>
<body onload="myOnLoad()">
<div class="wrapper">
<div id="popup" class="modalDialog2">
<!--DIALOG CONTENT HERE-->
</div>
</div>
<script type="text/javascript">
// close Modal
$("#close").click(function (e) {
e.preventDefault();
window.parent.$('body').css('overflow', 'auto');
window.parent.$("iframe").attr('src');
window.parent.$(".modalDialog").removeClass('show');
});
</script>
函数myOnLoad(){
window.parent.$('body').css('overflow','hidden');
}
//闭合模态
$(“#关闭”)。单击(功能(e){
e、 预防默认值();
window.parent.$('body').css('overflow','auto');
window.parent.$(“iframe”).attr('src');
window.parent.$(“.modalDialog”).removeClass('show');
});
解决方案
这段代码和相应的代码实现了这个技巧
$(function(){
if (/iPhone|iPod|iPad/.test(navigator.userAgent))
$('iframe').wrap(function(){
var $this = $(this);
return $('<div />').css({
width: $this.attr('width'),
height: $this.attr('height'),
overflow: 'scroll',
'-webkit-overflow-scrolling': 'touch'
});
});
})
$(函数(){
if(/iPhone | iPod | iPad/.test(navigator.userAgent))
$('iframe').wrap(函数(){
var$this=$(this);
返回$('').css({
宽度:$this.attr('width'),
高度:$this.attr('height'),
溢出:“滚动”,
“-webkit溢出滚动”:“触摸”
});
});
})
我遇到了这个问题,下面的代码行为我解决了这个问题-
html{
overflow: scroll;
-webkit-overflow-scrolling: touch;
}
请在上添加工作代码段。别担心,我已经找到了问题的答案。然后你应该发布自己问题的答案或将其删除。这段代码和相应的链接起到了作用。。。对我来说,它的可能副本没有:溢出:滚动;但只需使用-webkit溢出滚动:触摸;