STO*_*STO 10 html javascript dom
我有一个带有可滚动div的网页.在可滚动div的顶部,我绝对定位了div,它与可滚动div的一半重叠.
当我将鼠标光标放在可滚动的div上时,我可以用鼠标滚轮滚动它.但是当我将光标移动到重叠的div上时,鼠标滚轮会停止滚动该div(这是正确的行为,因为绝对定位的div不在可滚动的div内).
问题:如何将由绝对定位div接收的滚动事件传递或分派给此基础可滚动div,以使此绝对定位div对于鼠标滚轮事件是"透明的".
我可以在Chrome中使用它,但不能在IE和Firefox中使用.如何重写此代码以使其在IE和Firefox中运行?
if ($.browser.webkit) {
$(".overlap-container").bind("mousewheel", function (e) {
var origEvent = e.originalEvent;
var evt = document.createEvent("WheelEvent");
evt.initWebKitWheelEvent(
origEvent.wheelDeltaX,
origEvent.wheelDeltaY,
window,
0,
0,
0,
0,
origEvent.ctrlKey,
origEvent.altKey,
origEvent.shiftKey,
origEvent.metaKey);
$(".scroll-container").get(0).dispatchEvent(evt);
});
}
Run Code Online (Sandbox Code Playgroud)
请参见此处的示例:http: //jsfiddle.net/HAc4K/5
编辑:此问题最初来自jqGrid - 冻结列不会对鼠标滚轮进行反应.
在Chrome和Firefox中支持很棒的CSS属性: pointer-events:none