我正在尝试用chrome发送一个轮子事件,但仍然无法做到。我正在使用WheelEvent对象,但似乎不能正确“初始化”它。无论我做什么,delta始终为0.我看了specification,但没有任何帮助。更有意思的是,当我实际上用鼠标滚轮滚动并尝试发送该事件时,我捕获了该事件,但是再次增加了这些事件。有没有人遇到过这样的问题?这可能是个错误吗?任何帮助都会很棒!
//dispatching the wheel event
var evt = document.createEvent("WheelEvent");
evt.initEvent("mousewheel", true, true, null, 0, 0, 0, 0, 0, false, false, false, false, 0, null, -120);
window.dispatchEvent(evt)
// catching the wheel event
window.addEventListener('mousewheel', callback, true);
callback = function(evt){
console.log(evt)
}
答案 0 :(得分:2)
起初我不再需要这个功能,但我最近回到了这个问题,并找到了一种在Chrome上正确发送轮子事件的方法。对不起,我完全忘记了这个问题。代码如下:
var evt = document.createEvent("WheelEvent");
evt.initWebKitWheelEvent(deltaX, deltaY, window, screenX, screenY, clientX,
clientY, ctrlKey, altKey, shiftKey, metaKey);
node.dispatchEvent(evt);
可以找到更多信息here。 希望这会有所帮助。