延迟、取消或超时一个事件



我有两个事件

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

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

debouncedefer有可能发生作用吗?我知道语法是cytoscape.js特定的,但我猜使用debouncedefer的常规可能性适用。

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

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

相关内容

  • 没有找到相关文章

最新更新