2

Bacon.js でシングル クリックとダブル クリックを区別する最も適切な方法を見つけようとしていますが、これがどのように機能するかを完全に把握していないように感じます。以下はダブルクリックを検出するために機能しますが、シングル クリック イベントに対して異なる動作 (つまり、異なるコールバック関数) をエレガントに指定する方法については、少し困惑しています。

  clicked = Bacon.fromEventTarget(document, "click")
  clicked.bufferWithTimeOrCount(300, 2)
          .filter((x) -> x.length is 2)
          .onValue (x) ->
            console.log "double clicked: ", x
4

2 に答える 2

2

FRP初心者なのですが、こんなことした方がいいのでしょうか?

var clicks = Bacon.fromEventTarget(document, 'click').merge(
    Bacon.fromEventTarget(document, 'dblclick')
);

clicks.onValue(event, function(ev) {
    if (ev.type === 'click') ...
    else if (ev.type === 'dblclick') ...
});
于 2014-04-20T05:30:17.907 に答える