【问题标题】:Draggable <div> doesn't return to its original size after release in FirefoxDraggable <div> 在 Firefox 中发布后不会恢复到原来的大小
【发布时间】:2015-03-21 01:24:17
【问题描述】:

拿这个可拖动的。在 Chrome 中释放它(+ 鼠标移动)后它会恢复到原来的大小,但在 Firefox 中不会这样做。

<div id="container">
    <div class="drag"></div>
</div>


$(".drag").draggable({
    revert: true,
    containment: "#container"
});

.drag:hover {
width: 100px;
height: 90px;
margin-left: -5px;
margin-top: -7px;
line-height: 62px;
}

.drag {
    position: absolute;
    display: block;
    border: 1px solid black;
    width: 60px;
    height: 50px;
    float:left;
    margin: 5px;
    padding:0;
    padding-top: 5px;
    cursor: hand;
    cursor: pointer;
    border-radius: 51%;
    top: 40px;
    left: 100px;
    background-color: lightblue;
}

div#container {
    width: 100%;
    height: 700px;
    margin: 0;
    padding: 5px;
    position: relative;
}

为什么 Firefox 会出现这样的行为,是否有任何可能的修复方法?

JSFiddle

【问题讨论】:

  • 在 Firefox 中,我得到与在 Chrome 中相同的结果。释放鼠标后,如果我移动鼠标,尺寸会恢复正常:jsfiddle.net/wtLx524g 你使用的是哪个版本的 Firefox?我在36.0.1
  • 相同版本。你的例子也适用于我。不同之处在于,在您的示例中,使用了不同的 jquery-ui。这似乎导致了这种奇怪的行为。
  • 也许,如果你使用那个版本会发生什么?
  • 悬停在 -> 更改大小、拖动、释放并将指针移开 -> 保留大小而不是恢复到初始大小

标签: javascript jquery html css jquery-ui


【解决方案1】:

适用于 jQuery UI 1.9.2。在火狐上。这将使您能够更好地控制draggable behaiour。

$(".drag").draggable({
    addClasses: false,
    revert: function (valid) {
        if (valid) {
            //Dropped in a valid location
        } else {
            //Dropped in an invalid location
        }
        return valid;
    },
    containment: "#container"
});

工作小提琴:http://jsfiddle.net/urahara/wtLx524g/1/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 2019-04-03
    • 1970-01-01
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多