我正在尝试创建一个应用程序,在该应用程序中,用户需要拖动Kinetic.Image对象一段必需的时间(在本例中为5秒);这将用于确保他们没有执行手头的任务就不会继续进行下一个阶段。我正在为我的应用程序使用KineticJS。 dragstart,dragmove和dragend事件处理程序的某种组合是否可行?
var count = 0;
function Tick() {
count++;
window.setTimeout("Tick()", 1000);
}
myObject.on('dragstart', function(){
Tick();
});
myObject.on('dragend', function(){
return count;
}
我不确定这是否是一个好方法,但是您可以使用setTimeout或setInterval来递增变量'count',然后在拖动完成后返回该变量。
如果要使用本机的KineticJS实现,则必须使用Kinetic.Animation,因为它具有内置的'frame.time',它将为您计数毫秒,但是如果只想拖动事件,那会有些混乱。] >
我现在自己想出了一个解决方案,因此将它放在这里,供任何有兴趣的人使用。我认为,最简单的方法是在dragstart中添加一个时间戳,在dragend中进行相同的操作,然后执行diff。用差值增加一个全局计数器变量,然后在拖尾中进行检查以查看该计数器是否超过要求的数量。