我有两个事件
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
。
答案 0 :(得分:0)
是的,只需使用Lodash:cy.on('evt1 evt2 ...', _.debounce( handler ))