父页面上的 EventListener - 阻止滚动 iFrame
EventListener on parent page - Block scrolling through 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% 工作吗?谢谢
你能试试这些吗?
function BlockScrollbar() {
window.parent.document.$('body').bind('touchmove', function(e){
e.preventDefault();
});
由于我打开了一个 iFrame,因此整个文档都能够滚动,尽管它导致事件侦听器基于第一页。我通过在 iFrame 打开的页面上添加一个 ready(function()) 来修复此行为。
function BlockScrollbar(e) {
e.preventDefault();
}
(function($)
{
$(document).ready(function()
{
document.addEventListener('mousewheel', BlockScrollbar, {passive: false});
}
);
})(jQuery);
我在 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% 工作吗?谢谢
你能试试这些吗?
function BlockScrollbar() {
window.parent.document.$('body').bind('touchmove', function(e){
e.preventDefault();
});
由于我打开了一个 iFrame,因此整个文档都能够滚动,尽管它导致事件侦听器基于第一页。我通过在 iFrame 打开的页面上添加一个 ready(function()) 来修复此行为。
function BlockScrollbar(e) {
e.preventDefault();
}
(function($)
{
$(document).ready(function()
{
document.addEventListener('mousewheel', BlockScrollbar, {passive: false});
}
);
})(jQuery);