【问题标题】:How to set pageX for simulated Javascript event如何为模拟的 Javascript 事件设置 pageX
【发布时间】:2013-01-31 04:21:16
【问题描述】:

我正在通过以下方式在 DOM 节点上模拟 mousemove 事件:

var e = document.createEvent('MouseEvents');
e.initEvent('mousemove', true, true)
node.dispatchEvent(e)

然而,在我绑定在文档上的mousemove 回调中,事件对象返回的pageX 为0。有没有办法在初始化或调度事件时设置pageX

【问题讨论】:

    标签: javascript events dom-events mousemove


    【解决方案1】:

    来自here

    要查看它是否正常工作,只需运行以下命令:

    document.addEventListener('mousemove', function (e) { console.log(e.pageX); });
    var e = document.createEvent('MouseEvents');
    // event.initMouseEvent(type, canBubble, cancelable, view, detail, screenX, screenY, clientX, clientY)...
    e.initMouseEvent('mousemove', true, true, window, 1, 100, 100, 100, 100);
    document.dispatchEvent(e);
    

    好像clientXclientYpageXpageY一样! 希望对您有所帮助!

    【讨论】:

    • 不幸的是,initMouseEvent 已被弃用。 MouseEvent 似乎是一个更好的选择。
    猜你喜欢
    • 1970-01-01
    • 2013-09-28
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 2020-01-04
    • 2019-02-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多