我有一个带有onMouseUp事件集的div (超文本标记语言)。在该div中有许多元素,其中一些包含我想要拖动的手柄的图标。这些图标有一个onMouseDown事件。
当我将鼠标放在一个图标上并释放它时,首先触发该图标的onMouseDown事件,然后触发该div的onMouseUp事件-正如我所预期的那样。
但是,当我向下单击该图标,将其拖动到div的另一部分并释放时,mouseDown事件会像您预期的那样被激发,而onmouseUp事件不会被激发。
我有两个问题。
1)为什么会有这样的行为?
2)在独立于浏览器的方式下处理拖放的正确方式是什么?
我在widows上使用firefox 3.6.16,但IE8的表现与此相同。
发布于 2011-03-24 00:01:03
我知道这似乎不是一个公平的答案,但(在我看来)最好的答案是使用像jQuery这样的东西,并使用draggable。我只使用过Dojo和jQuery,但它们都有一个易于使用的、独立于浏览器的拖放界面。
这是一个解释jQuery的url。
http://jqueryui.com/demos/draggable/
发布于 2011-06-09 02:11:07
我今天只是在努力解决这个问题。在http://www.brainjar.com/dhtml/drag/demo.html上有一个很好的演示,它使用了原始的Javascript (这意味着所有的浏览器检查)。看起来关键是在mousedown事件上停止事件传播。
我正在使用Dojo,并且在dragStart (即附加到mousedown的函数)中使用mousedown使我看到mouseup的效果有所不同。
https://stackoverflow.com/questions/5408043
复制相似问题