這是一個jQuery UI可排序/可拖動的問題,如果被拖動的元素使用margin:0 auto
居中,則拖動將從容器的左側開始,而不是元素的中心。Draggable And Margin:0 auto;
繼承人演示顯示我的意思:http://codepen.io/anon/pen/YqWRvV。只需拖動紅色方塊。
如果您從'.drag'元素中刪除margin:0 auto
,您將看到拖動正常開始。
如何在使用margin:0 auto
居中時如何解決此問題並將其元素拖動到真正位置?
這似乎發生在Google Chrome中。
$("#c").sortable();
`.drag {
margin: 0 auto;
width: 200px;
height: 200px;
background-color: red;
}`
中心與CSS「鈣」元素修復該問題,但我的元素的寬度可以動態地改變。 'calc'也不如'margin'支持。
在容器中包裝可拖動可修復問題,但HTML更改不是我正在尋找的解決方案。
更新: 所以這不是一個jQuery的bug。這是谷歌瀏覽器的一個錯誤。顯然,錯誤的位置是由鉻檢索的,所以jQuery從chrome告訴它元素的位置開始拖動。我在控制檯中輸出元素的左側位置,當顯然不是13px時,可以看到它是13px。 http://codepen.io/anon/pen/YqWRvV。我想知道這個bug是否被報告過。
SOLUTION http://codepen.io/anon/pen/MyjeJP感謝朱利安·格雷 注意:此方法可能需要一種方法來刷新幫手位置。
我使用FirefoxDeveloperEdition,我不知道我看到它工作在Firefox的bug – silviagreen
。這意味着這是一個Chrome問題,在Chrome上嘗試它,你會看到。 – guub