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