我有一个javascript对象,特别是一个MouseEvent对象:
$('#my_container').bind('mousemove', function(e) {
if (someCondition) {
e.pageX = calcNewPageX
}
}});
我需要更改此对象的 pageX 属性,但它是只读的,所以我在控制台中收到此错误:
未捕获的类型错误:无法设置只有 getter 的 # 的属性页 X
所以我尝试将其复制到一个新对象并使用 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