0
我有一个JavaScript对象,特别是MouseEvent对象:如何将只读成员的javascript对象复制到非只读成员?
$('#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);
,但我仍然得到SAM e错误。
如何复制MouseEvent对象并将新副本对象的pageX属性设置为我自己的东西?我错过了什么或做错了什么?
我需要这个事件对象传递给方法(Highcharts框架的一部分,这是我无法更改),它使用其他图表上的pageX属性同步每个图标上的十字准线位置。 – Shahar
您是否尝试过使用旧事件的值构建新的MouseEvent(https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events) –
@PeteTNT是的,这实际上工作,谢谢! 我最终做了这样的事情:'var copiedEvent = new Event(e); copiedEvent.pageX = newPageXValue'并且没有控制台错误。 如果您添加答案,我会将其标记为正确。 – Shahar