0

我有两个活动

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

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

问题是第二个事件几乎立即被触发,因为第一个事件是在鼠标按下节点时触发的,而第二个事件是在鼠标悬停在节点上时触发的。

是否有可能debouncedefer行动?我知道语法是cytoscape.js特定的,但我猜想使用debouncedefer应用的常规可能性。

我想一个简单的解决方案是在第一个事件中保存时间戳并检查是否endTime - startTime > threshold在第二个事件中。

4

1 回答 1

0

是的,只需使用 Lodash:cy.on('evt1 evt2 ...', _.debounce( handler ))

于 2016-09-08T15:14:48.590 回答