Javascript 当jQueryUI的左上角进入时,如何使其Dropable接受Dragable?

Javascript 当jQueryUI的左上角进入时,如何使其Dropable接受Dragable?,javascript,jquery,jquery-ui,jquery-ui-draggable,jquery-ui-droppable,Javascript,Jquery,Jquery Ui,Jquery Ui Draggable,Jquery Ui Droppable,经过一些测试后,我的元素仅在可拖动的中心位于可拖放中时才接受元素 当一个可拖放文件的左上角位于一个可拖放文件中时,我如何改变这个行为来接受它 注意:可拖动项比可拖放项大。的一些非默认值可能是您的一个好选择,尽管它们不能完全满足您的要求 从文档中: 指定用于测试可拖放设备是否悬停在可拖放设备上的模式。可能值: 适合:可拖动与可拖放完全重叠。 相交:可拖动在两个方向上与可拖放重叠至少50%。 指针:鼠标指针与可拖放对象重叠。 触摸:可拖动与可拖放重叠任意数量。 默认值是intersect。我会考虑使

经过一些测试后,我的元素仅在可拖动的中心位于可拖放中时才接受元素

当一个可拖放文件的左上角位于一个可拖放文件中时,我如何改变这个行为来接受它


注意:可拖动项比可拖放项大。

的一些非默认值可能是您的一个好选择,尽管它们不能完全满足您的要求

从文档中:

指定用于测试可拖放设备是否悬停在可拖放设备上的模式。可能值:

适合:可拖动与可拖放完全重叠。 相交:可拖动在两个方向上与可拖放重叠至少50%。 指针:鼠标指针与可拖放对象重叠。 触摸:可拖动与可拖放重叠任意数量。 默认值是intersect。我会考虑使用指针或触摸。

或者,如果确实需要使用左上角作为参照,则应覆盖$.ui.intersect,该函数负责根据公差模式检查可拖放和可拖放是否相交。如果他们这样做,则返回true,否则返回false。它看起来像这样:

$.ui.intersect = function (draggable, droppable, toleranceMode) {

    swtich(toleranceMode) {
        // Check if they intersect based on the selected mode.
        default:
            return false;
    }
}
您需要重新定义该函数并添加自定义案例块,同时保持原始模式。否则,依赖于此的代码的其他部分(可能是其他jQueryUI组件)将中断


但是,这只适用于jQueryUI<1.12的情况。如果您使用的是较新的版本,则必须覆盖其他一些方法。你可以在这里找到一个详细的答案和代码示例:

我觉得API中有些东西我不是seeing@AlonEitan这个问题可能缺乏一些证据来证明他实际测试了什么,但我认为只要您熟悉jQueryUI的行话,在本例中,这是非常清楚的。我会编辑它,让它更清晰一点。对不起,问题不清楚,这是我一直在寻找的!谢谢这是正确的答案。我也在找同样的。指针就是你要找的东西。当您放置可拖动对象时,它会在光标下方的可拖放元素上触发可拖放。当拖动元素大于可拖放元素时,很难将中心移动到可拖放元素中。尤其是当您使用包含元素并试图将其移动到边缘时。