Jquery offset()不';不能在WebKit浏览器中工作

Jquery offset()不';不能在WebKit浏览器中工作,jquery,webkit,offset,Jquery,Webkit,Offset,我的HTML文档中有两个不同的div容器,一个包含jQueryUIDragables,另一个包含Dropables。我现在希望能够将Dragable拖到Dropable上,并使用jquery.offset()将其直接放置在Dropable上。此外,如果未击中可拖放部件,则可拖放部件会弹回到其原始位置 这在IE和Firefox中运行良好,但当缩放级别不是100%时,WebKit浏览器(Chrome、Safari)似乎存在问题。对于110%的缩放级别,使用.offset()的定位似乎关闭了约10%,

我的HTML文档中有两个不同的div容器,一个包含jQueryUIDragables,另一个包含Dropables。我现在希望能够将Dragable拖到Dropable上,并使用jquery.offset()将其直接放置在Dropable上。此外,如果未击中可拖放部件,则可拖放部件会弹回到其原始位置

这在IE和Firefox中运行良好,但当缩放级别不是100%时,WebKit浏览器(Chrome、Safari)似乎存在问题。对于110%的缩放级别,使用.offset()的定位似乎关闭了约10%,错误随着缩放级别的增加而增加

下面是解决我的问题的Java脚本代码。Dragable和Dropable只是普通的div元素

<!DOCTYPE html>
<html>
<head>
<title>Jquery offset example - WebKit browser</title>
<meta charset="utf-8">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.10.2/jquery-ui.min.js"></script>

<script type="text/javascript">

$(document).ready(function (){
  var droppable = $("#droppable");
  var draggable = $("#draggable");


  draggable.data("offset", draggable.offset());
  var hit = false;

  draggable.draggable({
    drag: function(){
        hit = false;
    },

      stop: function(){
          if(!hit) {
              $(this).offset($(this).data("offset"));
          }
      }        
  });

  droppable.droppable({
     drop: function(e, ui){
         ui.draggable.offset($(this).offset());
         hit = true;
     } 
  });
});
</script>
</head>

<body>

  <div id="text" style="margin-bottom:20px">
    <div id="droppable"style="width:30px; height:20px; border-style:solid; border-width:1px; background-color:#FFFFFF"></div>
  </div>

  <div id="draggables">
    <div id="draggable" style="width:30px; height:20px; position:relaive; border-style: solid; border-width: 1px; background-color:#FFFFFF">gap</div>
  </div>

</body>

Jquery偏移示例-WebKit浏览器
$(文档).ready(函数(){
var droppable=$(“#droppable”);
var draggable=$(“#draggable”);
数据(“offset”,draggable.offset());
var-hit=false;
拖拉的,拖拉的({
拖动:函数(){
命中=错误;
},
停止:函数(){
如果(!命中){
$(此).offset($(此).data(“offset”));
}
}        
});
可放下的,可放下的({
drop:函数(e、ui){
ui.draggable.offset($(this.offset());
命中=真;
} 
});
});
缺口
我使用的是jquery 1.9.1版和jquery ui 1.10.2版以及Google Chrome 25.0.1364.172版


有人有解决这个问题的方法吗?

这似乎是webkit的一个公开问题:好的,谢谢!但开发人员似乎并不关心这个bug,因为它早在2010年就被报告了,甚至没有分配给任何人。。。