Javascript/jQuery 拖放限制父级

标签 javascript jquery drag-and-drop limit

遇到以下问题。
我需要以下内容才能在绿色区域中拖放。

应该是这样的:

limit($(this).parent());

但这不起作用,我用它来打扰:

$('#dragThis').draggable({
drag: function () {

    var offset = $(this).offset();
    var xPos = Math.abs(offset.left);
    var yPos = Math.abs(offset.top);
    $('#posX').val('x: ' + xPos);
    $('#posY').val('y: ' + yPos);
},
stop: function (event, ui) {

    // Show dropped position.
    var Stoppos = $(this).position();
    var left = Math.abs(Stoppos.left);
    var top = Math.abs(Stoppos.top);
    $('#posX').val('x: ' + left);
    $('#posY').val('y: ' + top);
}

});

希望有人能帮助我;)谢谢到目前为止

http://jsfiddle.net/DGbT3/1850/

///////////////
更新 - 获取正确的 x/y 位置并仅允许在绿色区域内:
http://jsfiddle.net/DGbT3/1858/

最佳答案

您可以使用containment此选项将拖动限制在指定元素或区域的范围内。:

$('#dragThis').draggable({
    drag: function() {
        var offset = $(this).offset();
        var xPos = Math.abs(offset.left);
        var yPos = Math.abs(offset.top);
        $('#posX').val('x: ' + xPos);
        $('#posY').val('y: ' + yPos);
    },
    stop: function(event, ui) {
        // Show dropped position.
        var Stoppos = $(this).position();
        var left = Math.abs(Stoppos.left);
        var top = Math.abs(Stoppos.top);
        $('#posX').val('x: ' + left);
        $('#posY').val('y: ' + top);
        $('#info').val('x: ' + left + ' y: ' + top);
    },
    containment: $("#content")
});

Example

关于Javascript/jQuery 拖放限制父级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24932813/

相关文章:

javascript - 用元素之间的动画对拖放和连接箭头(或其他任何东西)使用react

javascript - 没有#的Angularjs无限循环!在网址中

javascript - 使用谷歌搜索 url

javascript - 隐藏/显示菜单项取决于帐户工作但

javascript - 为什么这个 for 循环记录 "undefined"?

c# - 在没有 View 的情况下执行 Web Controller 操作 [c#]

javascript - 如果 x 在 URL 中,则不执行 jquery

javascript - 在粘贴事件中获取文档中粘贴的内容

jquery - 使用 css 缩放拖放

c# - 如何在对话框打开时禁用拖放