我的页面中有一个可拖动的div。在第一次拖动它完美地工作。在第二次拖动它开始工作,但然后div似乎被“捕获”,好像它是一个图像 - 拖动停止,div的“副本”出现,鼠标事件未注册。如果我还不够清楚,那就与这个家伙问题相同:http://www.webdeveloper.com/forum/showthread.php?t=227602
知道可能导致这种情况的原因以及如何克服?
由于
编辑:好的,由于this问题,我找到了答案。为了保存将来的访问者,只需点击dragStart
功能即可确保以event.preventDefault()
结尾:
// bind dragStart handler to appropriate element:
<script type="text/javascript">
$("#handle").bind("mousedown", function(e) { dragStart(e) });
</script>
function dragStart(event) {
// bind mousemove and mouseup handlers to $(document),
// get ininitial positions etc
...
// then do this:
event.preventDefault();
}
哎呀,所有人都很好。
答案 0 :(得分:2)
@RichardH:另外,请考虑CSS中的以下内容:
#handle {
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-o-user-select: none;
user-select: none;
}
这将禁用拖动时意外选择元素。