Oli*_*ber 15 jquery-ui css-position draggable
今天早上我遇到了jQuery draggable的奇怪问题,我想知道是否有其他人遇到过这个问题.
我在一个大div里面有很多小div.它们绝对定位:CSS中的"position:absolute"为其类,实际位置本身在JS中按需计算和设置.
现在我添加了允许这些div可拖动的功能.
但是,只要我制作一个可拖动的,就会直接在元素上给出"position:relative",正如您可能想象的那样,会严重影响屏幕上的位置.
有谁知道为什么它改变这样的"位置"或如何告诉它不?
编辑:
刚刚意识到有一个相当明显的答案盯着我的脸 - 对我的立场很重要:绝对!这似乎解决了这个问题.但是我仍然感兴趣,如果有人知道为什么它设置"位置:相对"这样(并且不能使其可配置或首先检查它是否需要位置)...我想知道我刚存储了什么问题为我自己;-)
小智 12
"我今天遇到了同样的问题.原因是我正在申请draggable()一个动态创建的元素.我'后来'追加它dom.dom当你申请时,元素应该在draggable()(如果一个类正在应用样式).简而言之,当它发现没有任何附加位置时element,它补充道relative." - Jashwant
冷杉做:.append(jElement)然后:jElement.draggable()
出于某种原因,贾什万特在对这个问题的评论中提出了他的答案.所以我认为其他人在这里重新发布它会很方便.
我也遇到过这种情况,但仅限于 Chrome。原因?
事情是这样的:
$("#div-popup").draggable({ handle: ".top", containment: 'document'});
Run Code Online (Sandbox Code Playgroud)
然后我删除了包含参数,如下所示:
$("#div-popup").draggable({ handle: ".top"});
Run Code Online (Sandbox Code Playgroud)
因此,它与浏览器(本例中为 Chrome)有关,当您指定元素可拖动的包含位置时,浏览器将位置设置为“相对”。