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

时间:2016-01-21 12:36:56

标签: javascript jquery

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

    $('#my_container').bind('mousemove', function(e) {
    if (someCondition) {
        e.pageX = calcNewPageX
    }
}});

我需要更改此对象的pageX属性,但它只是readonly所以我在控制台中收到此错误:

  

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

所以我尝试将它复制到一个新对象并使用jQuery的扩展更改pageX属性:

var copiedEvent = $.extend(true, { pageX: 500 }, e);

但我仍然得到同样的错误。

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

1 个答案:

答案 0 :(得分:1)

使用旧事件中的Abort构建一个新事件并修改这些值:

new Event

参考:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events