yybing85 2010-07-22 16:40
浏览 679
已采纳

Firefox onmousemove与onmouseup事件失效的问题

在一个div上注册了onmousedown,onmousemove与onmouseup事件,想做一个MouseGuesture的特效。可是在Firefox中第一次测试事件都好使,然后接着进行第二次就失效了,鼠标上跟一个小矩形,好像是拖动的效果。
鼠标点到其他元素再回来就好了,是不是元素焦点的问题,也不知道怎么在ff中吧焦点移开。
例子在附件中,在显示的框中点击鼠标,横向拖动然后松开,接着再试一次问题就出来了,其他浏览器中都好用。

  • 写回答

4条回答 默认 最新

  • kjah_1 2010-07-23 10:23
    关注

    问题是由选择文字动作引起的,ie8下也有此情况.
    解决办法,禁止浏览器选择文字动作
    ie下用document.body.onselectstart=function(){return false;}
    ff下用-moz-user-select:-moz-none;

    [code="html"]
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">



    *{ -moz-user-select:-moz-none; } window.onload = function(){ /* var msg = document.getElementById("msg"); var c = 0; MouseGuesture.instance({distance:100}).regist(document.getElementById("panel"),function(key){ //debugger; msg.innerHTML += key+","; } )*/ document.body.onselectstart=function(){return false;} var c = 0; var a = false; var msg = document.getElementById("msg"); var panel = document.getElementById("panel"); panel.onmousedown = function(){ a = true; } panel.onmousemove = function(){ /* if(a){ if(c%50 == 0){ msg.innerHTML += c+","; } c++; }*/ } panel.onmouseup = function(){ alert(1); a = false; } }


    MouseTest :


    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 八爪鱼爬数据为什么自己停了
  • ¥15 交替优化波束形成和ris反射角使保密速率最大化
  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率