gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 07:53:06 24 4
gpt4 key购买 nike

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

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

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

Uncaught TypeError: Cannot set property pageX of # which has only a getter

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

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

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

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

最佳答案

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

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

引用号:https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events

关于javascript - 如何将具有只读成员的javascript对象复制到非只读成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34924038/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com