【发布时间】:2012-03-09 18:27:49
【问题描述】:
我正在使用simple modal。当您在模态边界之外滚动鼠标滚轮时,有什么方法可以防止背景(覆盖层后面)滚动?
谢谢!
【问题讨论】:
标签: javascript jquery css simplemodal
我正在使用simple modal。当您在模态边界之外滚动鼠标滚轮时,有什么方法可以防止背景(覆盖层后面)滚动?
谢谢!
【问题讨论】:
标签: javascript jquery css simplemodal
在创建模式时,为 body 设置 overflow:hidden。然后你将无法滚动背景,隐藏模式时,将overflow:auto设置为body。
【讨论】:
我认为你可以这样做:
$(document).on('mousewheel', '.simplemodal-overlay, .simplemodal-data', function(event) {
event.preventDefault();
});
不过,我不确定mousewheel 是否有完整的跨浏览器支持。
编辑:我验证了这个工作,但你需要mousewheel插件:https://github.com/brandonaaron/jquery-mousewheel/downloads
示例:http://jsfiddle.net/jtbowden/AhpLc/
(我将jquery.mousewheel.min.js粘贴到脚本区域...不要那样做)
【讨论】:
mousewheel 不像其他事件那样符合正常的事件冒泡/传播。我还没有想出一个简单的方法来做到这一点。