我有两个事件
cy.on('mousedown touchstart', 'node', function (event) {
// start
});
cy.on('mouseover tapdragover', 'node', function (event) {
// end
});
问题是第二个事件几乎是立即触发的,因为第一个事件是在鼠标按在节点上时触发的,第二个事件是在鼠标经过节点时触发的。
debounce
或defer
有可能发生作用吗?我知道语法是cytoscape.js
特定的,但我猜使用debounce
和defer
的常规可能性适用。
我想一个简单的解决方案是在第一个事件中保存时间戳,并检查endTime - startTime > threshold
是否在第二个事件中。
是的,只需使用Lodash: cy.on('evt1 evt2 ...', _.debounce( handler ))