Javascript 鼠标事件currentTarget overwrite+;Rxjs问题

Javascript 鼠标事件currentTarget overwrite+;Rxjs问题,javascript,rxjs,Javascript,Rxjs,目前我正在使用Rxjs,在我处理原始事件时,它似乎已经被部分丢弃。当前目标不见了 const canvasMousedown$=Rx.Observable.fromEvent(图表“mousedown”); const canvasMousemove$=Rx.Observable.fromEvent(图表“mousemove”); const canvasMouseup$=Rx.Observable.fromEvent(图表“mouseup”); const canvasSelection$=

目前我正在使用Rxjs,在我处理原始事件时,它似乎已经被部分丢弃。当前目标不见了

const canvasMousedown$=Rx.Observable.fromEvent(图表“mousedown”);
const canvasMousemove$=Rx.Observable.fromEvent(图表“mousemove”);
const canvasMouseup$=Rx.Observable.fromEvent(图表“mouseup”);
const canvasSelection$=canvasMousedown$.concatMap((startEvent)=>{
return canvasMousemove$.takeUntil(canvasMouseup$).map((endEvent)=>[starteEvent,endEvent])
});
canvasSelection$.subscribe((事件)=>{
//当前目标不见了
//我需要通过一些第三方功能来完成这些事件
//这取决于当前目标
console.log(事件);

});创建事件对象的副本,以在事件发生后绕过浏览器设置
currentTarget
null

const canvasMousedown$ = Rx.Observable.fromEvent(chart, 'mousedown')
    .map(e => ({ currentTarget: e.currentTarget }))
const canvasMousemove$ = Rx.Observable.fromEvent(chart, 'mousemove')
    .map(e => ({ currentTarget: e.currentTarget }))
const canvasMouseup$ = Rx.Observable.fromEvent(chart, 'mouseup')
    .map(e => ({ currentTarget: e.currentTarget }))

const canvasSelection$ = canvasMousedown$.concatMap((startEvent) => {
  return canvasMousemove$.takeUntil(canvasMouseup$).map((endEvent) => [startEvent, endEvent])
});

canvasSelection$.subscribe(events => {
    console.log(events)
})

有趣的是,它似乎被设置为
null
以节省内存?谢谢你的帮助。是的,正如我提到的,我想要实现的,但是我不能正确地克隆和重写事件。我的问题是:我需要调用第三个函数,它需要一个MouseEvent(所以我需要整个事件)。另外,我需要把第三方的当前目标放回去。我不需要保存currentTarget,因为我知道它是什么(图表元素)。如果我没看错的话,你的解决方案就是删除事件,用currentTarget创建一个新对象。做你想做的事
.map(e=>$.extend({},e))