【问题标题】:jQuery UI drag-drop large elementsjQuery UI 拖放大元素
【发布时间】:2011-02-21 22:00:46
【问题描述】:

jQuery UI 可拖动/可放置有问题。

基本上,当我放下项目时,它不会落在光标所在的位置。 它似乎落在了我拖动的元素的中心,但肯定不是光标。

代码如下:

$('.project, .milestone, .todoList, .todoListItem').draggable({ 
    revert:'invalid' 
});

$('.dayWrapper').droppable({ 
    tolerance:'pointer', 
    drop: function(event, ui){ 
        var sch_item = ui.draggable.attr('id'); 
        var sch_person = $(this).parent().attr('id'); 
        var sch_date = $(this).attr('id'); 
        addToSchedule(sch_item, sch_person, sch_date) 
    }
});

提前致谢

【问题讨论】:

  • 能否提供一些您正在使用的html和代码
  • $('.project, .milestone, .todoList, .todoListItem').draggable({ revert:'invalid' }); $('.dayWrapper').droppable({ 容差:'pointer', drop: function(event, ui){ var sch_item = ui.draggable.attr('id'); var sch_person = $(this).parent( ).attr('id'); var sch_date = $(this).attr('id'); addToSchedule(sch_item, sch_person, sch_date) } });
  • 您应该编辑您的原始问题,并添加上面的代码——因为 cmets 中没有格式...
  • 我找不到任何链接来编辑我的原始问题。

标签: jquery jquery-ui drag-and-drop


【解决方案1】:

您必须省略某些设置。基本上使用您提供的内容,我可以制作一个示例,将项目准确地放在我放开它的地方。您似乎是在暗示,在下跌之后,它会在其他地方“折断”?据我所知,除非您在 drop 函数中添加了代码来执行此操作,否则它不会做任何事情。

有关直接取自 jQuery UI 示例的简单示例,请参阅 here。

【讨论】:

  • 我的 HTML 布局本质上是一堆“可放置”的 div,它们都以某种网格形式对齐(如日历上的天/小时)。如果我的“可拖动”元素大于单个可放置元素,那么它并不总是放在鼠标光标所在的位置。
  • @David,我明白了——我的意思是你没有为我们提供足够的代码来找出你的问题所在。它可能在你的 CSS 中,或者可能是一些代码您还没有显示尝试将 div “捕捉”到特定的小时/天。
【解决方案2】:

很确定您正在寻找此处建议的相同答案:JQuery UI : Drop long element at the cursor location instead of the middle of the element

基本上使用'tolerance'。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-12
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 2012-06-27
    • 1970-01-01
    • 2017-12-12
    • 1970-01-01
    相关资源
    最近更新 更多