简体   繁体   English

我想在启动mouseup时停止mousemove事件,但似乎不起作用,该怎么办?

[英]I want to stop the mousemove event when mouseup is fired.But it seems not working.How can i do that?

var paper = Raphael(10,10,700,500);
var backGround = paper.rect(10,10,600,400);
backGround.attr("fill", "#FFFFCC");

backGround.mousedown(function(){
    console.log("down");
    backGround.mousemove(function () {
       console.log("move");
    });
});

backGround.mouseup(function () {
    console.log("up");
   event.preventDefault();
});

after mouseup event is fired consolelog 'move' is still working 触发mouseup事件后,consolelog'move'仍然有效

Listeners are assigned once, and then always triggered. 侦听器被分配一次,然后始终被触发。 You may wanna set a flag: 您可能想设置一个标志:

 var down = false;
 backGround.mousedown(function(){
   console.log("down");
   down = true;
  });
  backGround.mouseup(function () {
    console.log("up");   
    down = false;
 });

 backGround.mousemove(function () {
   if(down){
     console.log("move");
   }
 });

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我想做MouseMove事件,但是不起作用 - I want to do MouseMove event but it's not working 我如何为mousemove事件添加一些缓冲区,以免破坏mouseup事件 - How can I add some buffer to a mousemove event so it doesn't disrupt mouseup events 如何停止mousemove? - How do I stop mousemove? 有时,当我单击某个元素时,“ evt.type”返回“ mousemove”而不是“ mouseup”。 我该如何解决这个问题? - Sometimes when I clicked on an element the “evt.type” return “mousemove” instead on “mouseup”. How can I resolve this issue? 在jquery中mousedown触发mouseup时停止事件 - stop an event upon mouseup fired by mousedown in jquery 当鼠标在 vue 元素之外上升时,如何获得 mouseup 事件? - How can I get a mouseup event when the mouse goes up outside of the element with vue? 如何防止 mousemove 事件在触摸设备中作为点击工作? - How can I prevent the mousemove event from working as click in touch devices? 当使用jQuery的mousedown和mouseup方法时,我怎么能使用event.preventDefault()? - How can i event.preventDefault() when using jQuery's mousedown and mouseup methods? .mouseup()和.mousedown()无法与.mousemove()一起使用 - .mouseup() and .mousedown() not working with .mousemove() 如何在angularjs单元测试中触发mousemove事件 - How do I trigger a mousemove event in an angularjs unit test
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM