/ /読み取り専用メンバーを持つjavascriptオブジェクトを非読み取り専用メンバーにコピーするにはどうすればよいですか? -javascript、jquery

どのように非読み取り専用メンバーに読み取り専用メンバーを持つjavascriptオブジェクトをコピーするには? - javascript、jquery

javascriptオブジェクト、具体的にはMouseEventオブジェクトがあります。

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

このオブジェクトのpageXプロパティを変更する必要がありますが、読み取り専用であるため、コンソールで次のエラーが発生します。

Uncaught TypeError:ゲッターしかない#のプロパティpageXを設定できません

そこで、それを新しいオブジェクトにコピーし、jQueryの拡張機能を使用してpageXプロパティを次のように変更してみました。

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

私はまだ同じエラーが発生します。

MouseEventオブジェクトをコピーして、新しいコピーオブジェクトのpageXプロパティを独自のものに設定するにはどうすればよいですか?私は何が欠けているか、間違っているのですか?

回答:

回答№1は1

で新しいイベントを作成します new Event 古いイベントから、これらの値を変更します。

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

Ref: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events