页面上有个元素可以拖动(该元素的mousedown,document的mousemove,document的mouseup模拟),也可以点击。拖动的时候不能产生点击事件,就有了标题的需求。请问在chrome下,怎么解决该问题(ie,ff能解决也可),谢谢。

解决方案 »

  1.   

    在mousedown 和 mouseup 事件中记录 鼠标的位置
    前后不一致 则表示一个 拖动ACTION 
    然后
    1)直接不要click事件 在mouseup中根据鼠标移动判断来调用 本来click要执行的事件
    2)设置一个标志位 表示当前 是否一个 移动标志 click事件根据该标志来 判断要不要执行下面的东西
      

  2.   

    onclick事件是在onmouseup之后才触发~~
    也就是说你在拖动的过程中其实是不会触发的
    因此你只需在onmousedown事件里绑定
    onmouseover事件里取消(如果没有拖动,则onclick事件执行)