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