0
RXJS에서 드래그 앤 드롭 동작에 어려움을 겪고 있습니다. 해당 요소의 클릭 이벤트를 납치하지 않기 위해 250ms 마우스를 끈 후에 요소를 드래그하고 싶습니다.RXjs로 드래그 앤 드롭
지금까지 시작 끌기는 작동하지만 멈춤 끌기는 결코 호출되지 않습니다. 왜 그런지 알아?
let button = document.querySelector('.button');
let mouseDownStream = Rx.Observable.fromEvent(button, 'mousedown');
let mouseUpStream = Rx.Observable.fromEvent(button, 'mouseup');
let dragStream = mouseDownStream
.flatMap((event) => {
return Rx.Observable
.return(event)
.delay(250)
.takeUntil(mouseUpStream)
});
let dropStream = mouseUpStream
.flatMap((event) => {
return Rx.Observable
.return(event)
.skipUntil(dragStream)
});
dragStream.subscribe(event => console.log('start drag'));
dropStream.subscribe(event => console.log('stop drag'));
답장을 보내 주셔서 감사합니다. 여전히 예상대로 작동하지 않습니다. 처음으로 드래그 앤 드롭하면 작동합니다. 그 후, 버튼을 클릭 할 때마다 중지 드래그가 기록됩니다. – bjorkblom
참, 나는 그것을 놓쳤습니다. - 그러나 그것은'.take (1)'을 추가함으로써 정말로 명백한 수정이었습니다 - 누구든지 그것을 볼 수있었습니다 ;-) – olsn