如何将具有只读成员的javascript对象复制到非只读成员?

如何将具有只读成员的javascript对象复制到非只读成员?,javascript,jquery,Javascript,Jquery,我有一个javascript对象,特别是一个MouseeEvent对象: $('#my_container').bind('mousemove', function(e) { if (someCondition) { e.pageX = calcNewPageX } }}); 我需要更改此对象的pageX属性,但它是只读的,因此在控制台中出现以下错误: 未捕获的TypeError:无法设置#的属性pageX,该属性只有一个getter 因此,我尝试将其复

我有一个javascript对象,特别是一个MouseeEvent对象:

    $('#my_container').bind('mousemove', function(e) {
    if (someCondition) {
        e.pageX = calcNewPageX
    }
}});
我需要更改此对象的pageX属性,但它是只读的,因此在控制台中出现以下错误:

未捕获的TypeError:无法设置#的属性pageX,该属性只有一个getter

因此,我尝试将其复制到一个新对象,并使用jQuery的extend更改pageX属性,如下所示:

var copiedEvent = $.extend(true, { pageX: 500 }, e);
但我还是犯了同样的错误


如何复制MouseEvent对象并将新复制对象的pageX属性设置为我自己的属性?我遗漏了什么或做错了什么?

使用旧事件中的
new event
构造一个新事件,并修改这些值:

var newEvent = new Event(e);
newEvent.pageX = calcNewPageX();

Ref:

我需要将此事件对象传递给一个方法(Highcharts框架的一部分,我无法更改),该方法在其他图表上使用pageX属性来同步每个图表上的十字线位置。您是否尝试过使用旧事件()的值构造新的MouseeEvent()@Pettnt是的,这确实有效,谢谢!我最后做了这样的事情:
var copiedEvent=newevent(e);copiedEvent.pageX=newPageXValue
,没有控制台错误。如果您添加答案,我会将其标记为正确。添加以下答案:)