我有一个可拖动的如下:
<div id="_splitter" style="width: 40px; height: 40px; position: relative; z-index: 1; margin: -20px -23px auto auto; border: 3px solid gray; opaciy:.5;"></div>
在 Chrome 中,它仅在第一个 mouseup 事件之前才能正常工作。一旦 div 被拖动到一个新位置,下一次拖动会将元素移动到左上角的边距大小,所以当你第二次开始拖动它时,它看起来就像一个突然的跳跃。
该问题仅出现在 Chrome、FF 和 Opera 工作正常。谁能建议我如何让它在 Chrome 中工作?
注意:我想找到一个修复程序,而不是破解,我知道如果我删除/重新添加可拖动它可能会起作用,但这不是我所追求的。
这是一个重现的 HTML,抱歉没有小提琴:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>draggable</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.21/jquery-ui.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#_splitter").draggable();
});
</script>
</head>
<body>
<div>
<div id="_splitter"
style="width: 40px; height: 40px; position: relative; z-index: 1; margin: 100px auto auto 100px; border: 3px solid gray; background-color: Green;"></div>
</div>
</body>
</html>