有没有办法使框架的主体在移动设备上没有响应(意味着对任何触摸都没有响应)?
我正在加载全屏 iframe,每次我触摸 iframe 中的某些内容时,iframe 后面的主体似乎都会受到影响。例如,正文开始滚动或被点击。
只有当我在 iframe 中使用 javascript 函数时,才会发生这种情况,就好像我在 iframe 中的函数会影响外面的主体一样。
我想防止我的 iframe 在视野中时身体受到影响。我能做什么?
发生这种情况是因为您的iframe
它位于您网站的正文中。这实际上是意料之中的和正确的行为。
想象一下HTML的过度简化:
<body>
<iframe />
</body>
如您所见,iframe 将位于 Body 内部,因此通过单击 iframe 中的任何内容,您将浏览正文。
如果您想避免意外行为,请尝试将事件侦听器添加到您的身体并使用 event.preventDefault()
。您可以使用滚动事件等来执行此操作。您可以阅读有关 preventDefault 和滚动的更多信息。这同样适用于要缓解的其他事件。
您还可以使用 CSS 禁用滚动:
使用 Jquery(来源):这将完全禁用滚动:
$('html, body').css({
overflow: 'hidden',
height: '100%'
});
要恢复:
$('html, body').css({
overflow: 'auto',
height: 'auto'
});
但是由于它是CSS,您可以简单地将overflow: 'hidden', height: '100%'
添加到样式中,就可以了。