2017-03-11 9 views
0

ボタンがあります - <button></button>です。ボタンが押されているときに値を出す方法は?

このボタンは、押されるたびに入力フィールドの値をインクリメントします。それは簡単です。私が知らないことは、ボタンが押されている間に値を定期的にインクリメントし、ユーザがボタンを離れるか押さないときに停止する方法です。ここには、すべてのinvoledイベントの観測値があります。私は希望の結果を得るために何らかの方法でそれらを組み合わせる必要があります。どんな助け?言い換えれば

const observer =() => { 
    console.log('click'); 
}; 

が、私はタイプ番号の入力要素のネイティブ矢印ボタンに私のボタンの仕事は似て作るしようとしている:

const click = Observable.fromEvent(button, 'click'); 
const mousedown = Observable.fromEvent(button, 'mousedown'); 
const mouseup = Observable.fromEvent(button, 'mouseup'); 
const mouseleave = Observable.fromEvent(button, 'mouseleave'); 

はここで観察者。

答えて

0

私はそれを得たと思う:

const button = document.getElementById('button'); 

    const click = Rx.Observable.fromEvent(button, 'click'); 
    const mousedown = Rx.Observable.fromEvent(button, 'mousedown'); 
    const mouseup = Rx.Observable.fromEvent(button, 'mouseup'); 
    const mouseleave = Rx.Observable.fromEvent(button, 'mouseleave'); 

    const observer =() => { 
    console.log('click'); 
    } 

    click.subscribe(observer); 
    const notifier = mouseup.merge(mouseleave); 
    const final = mousedown 
    .switchMap(e => { 
     return Rx.Observable.interval(200).takeUntil(notifier); 
    }) 
    .subscribe(observer); 
関連する問題