Mám objekt javascript, konkrétne objekt MouseEvent:
$("#my_container").bind("mousemove", function(e) {
if (someCondition) {
e.pageX = calcNewPageX
}
}});
a musím zmeniť vlastnosť pageX tohto objektu, ale je to readonly, aby som dostal túto chybu v konzole:
Uncaught TypeError: Nemožno nastaviť vlastnosť pageX z #, ktorá má iba getra
Takže som sa snažil kopírovať na nový objekt a zmeniť vlastnosť pageX pomocou jQuery "s rozšíriť takto:
var copiedEvent = $.extend(true, { pageX: 500 }, e);
ale stále mám rovnakú chybu.
Ako môžem skopírovať objekt MouseEvent a nastaviť vlastnosť pageX nového kopírovacieho objektu na niečo vlastné? Čo chýba alebo sa mýli?
odpovede:
1 pre odpoveď č. 1Vytvorte novú udalosť s new Event
z vašej staršej udalosti a upravte tieto hodnoty:
var newEvent = new Event(e);
newEvent.pageX = calcNewPageX();
Ref: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events