0

2つのイベントがあります

cy.on('mousedown touchstart', 'node', function (event) {
  // start
});

cy.on('mouseover tapdragover', 'node', function (event) {
  // end
});

問題は、マウスがノード上で押されたときに最初のイベントが発生し、マウスがノード上にあるときに 2 番目のイベントが発生するため、2 番目のイベントがほぼ即座に発生することです。

debounceまたはdeferその行動は可能ですか?cytoscape.js構文が固有であることは知っていますが、使用debounceおよびdefer適用の通常の可能性を推測します。

簡単な解決策は、最初のイベントでタイムスタンプを保存し、2 番目のイベントであるかどうかを確認することだと思いendTime - startTime > thresholdます。

4

1 に答える 1

0

はい、Lodashを使用してください:cy.on('evt1 evt2 ...', _.debounce( handler ))

于 2016-09-08T15:14:48.590 に答える