经过一些测试后,我的可下垂元素仅在可拖放中心位于可拖放的中心时才接受拖曳元素。
如果左上角位于可下拉式内,如何更改此行为以接受拖放?
注意:可拖的比可拖的要大。
发布于 2018-01-22 22:27:14
也许选项的一些非缺省值对您来说是一个很好的替代方案,尽管它们并不能完全满足您的要求。
从医生那里:
指定用于测试可拖设备是否悬停在可下垂上的模式。可能的价值:
"fit":可拖的重叠完全覆盖可下垂。"intersect":在两个方向上,可拖重叠至少50%的下垂。"pointer":鼠标指针重叠可下垂。"touch":拖放重叠于可下垂的任意数量。默认的是"intersect"。我会考虑使用"pointer"或"touch"。
或者,如果您确实需要使用左上角作为引用,那么您应该重写$.ui.intersect,该函数负责根据公差模式检查可拖动的和可下垂的相交。如果它们这样做了,它应该返回true,或者返回false。看起来是这样的:
$.ui.intersect = function (draggable, droppable, toleranceMode) {
swtich(toleranceMode) {
// Check if they intersect based on the selected mode.
default:
return false;
}
}您需要重新定义该函数并添加自定义case块,同时保留原始模式。否则,依赖于此的代码的其他部分(可能是其他一些jQuery UI组件)将崩溃。
但是,这只适用于jQuery UI < 1.12。如果使用的是较新的版本,则必须覆盖其他一些方法。您可以在这里找到一个详细的答案,并给出代码示例:为jQuery UI可删除的相交公差构建匹配选项
https://stackoverflow.com/questions/48390842
复制相似问题