jquery - 父页面上的 EventListener - 阻止通过 iFrame 滚动
问题描述
我在 jQuery 上的 iFrame 事件侦听器遇到了一些问题,我需要修复的部分代码是:
function BlockScrollbar(e) {
e.preventDefault();
}
$.fancybox.open({
src: $(this).find("a:first").attr("href"),
type: 'iframe',
infobar: false,
toolbar: false,
beforeShow: function() {
document.addEventListener('mousewheel', BlockScrollbar, {
passive: false
});
},
afterClose: function() {
document.removeEventListener('mousewheel', BlockScrollbar);
}
});
我禁用了整个页面上的滚轮,在加载 iFrame 期间,问题是由于某种原因,如果我通过 iFrame 滚动页面,我仍然可以滚动后面的页面。
我的目标是在打开 iFrame 时完全禁用滚动。你知道为什么它不能 100% 工作吗?谢谢。
解决方案
由于我正在打开一个 iFrame,因此整个文档能够滚动,尽管它导致事件侦听器基于第一页。我通过在 iFrame 打开的页面上添加一个 ready(function() 来解决此问题。
function BlockScrollbar(e) {
e.preventDefault();
}
(function($)
{
$(document).ready(function()
{
document.addEventListener('mousewheel', BlockScrollbar, {passive: false});
}
);
})(jQuery);
推荐阅读
- c# - 如果成功完成则停止 Quartz 作业
- c# - 显示嵌套 SortedDictionary 中的元素
- c - 将新数据添加到 char 读数数组中
- mysql - 如何将多个不同分类的文本框值存储到一个表中?
- random - IntRange.random() 如何在 Kotlin 中引入熵
- java - way to find the List of all ids in a list of entities from inner object with java 8
- node.js - Paypal 退款服务抛出 TRANSACTION_REFUSED 错误
- android - Android 和 IOS Web 套接字服务器
- javascript - 平滑滚动效果问题
- r - 如何调整 R 代码以获取 2019 年和 2020 年的数据