一个自定义网格,其项目是可拖动的,即您可以拖动任何行并将其拖放到左侧树结构。我为drggable做的是这个
$("#ulMyItemsNew").append(liItem).find("li").draggable({
helper: 'clone',
revert: function (event) {
//hides tooltip when not a valid drop
$(".tooltipProduct:visible").hide();
return !event;
},
cursor: 'move',
start: function (event, ui) {
$(this).draggable("option", "cursorAt", {
left: event.pageX,
top: event.pageY
});
},
zIndex: 507000
});
实际上,当我开始从制造商拖动任何行然后我的鼠标和拖动文本一起移动时。但是当我从模型编号开始拖动时,我的鼠标和拖动文本会得到距离。当我开始从描述中拖动时然后我的鼠标和拖动文本得到更多的距离。我想要的是,无论我是从制造商或型号或描述拖动,拖动文本应该始终与我的鼠标一起移动。它们之间应该没有距离。
我知道代码区域
start: function (event, ui) {
$(this).draggable("option", "cursorAt", {
left: event.pageX,
top: event.pageY
});
}
我在做event.pageX
和event.pageY
并且事件不是鼠标移动事件而是draggable
文本事件。我确实在"内部调用了一个函数。开始"像这样的帮手
start: function (event, ui) {
GetMousePosition();
}
function GetMousePosition() {
$("#ulMyItemsNew li.ui-draggable-dragging").mousemove(function (event) {
var offset = $("#ulMyItemsNew li.ui-draggable-dragging").offset();
$("#ulMyItemsNew li.ui-draggable-dragging").css({ left: event.pageX - offset.left, top: event.pageX - offset.top });
});
}
但是没有任何作用,因为我想要ulMyItemsNew
是ul
id,网格的所有li
行都存在于其中。 li.ui-draggable-dragging
是draggable
文本的类,它会动态附加在ul
的底部。
非常感谢任何帮助。我被困在这2周了。在此先感谢!!
这是Snap Shot -
答案 0 :(得分:0)
我认为您在开始拖动时修复了光标位置:
$(this).draggable("option", "cursorAt", {
left: event.pageX,
top: event.pageY
});
这就是为什么会这样。
使用此 -
cursorAt: { left: 1, top:1 }
选项指定相对于draggable的另一个位置(指定顶部,右侧,底部和/或左侧的像素值)。通过为游标选项提供有效的CSS游标值来自定义游标的外观:default,move,pointer,crosshair等。
点击此处查看更多详情
答案 1 :(得分:0)
我做了这个,它按照我想要的方式工作。现在我的光标和可拖动的" li"一起移动。我不知道cursorAt帮助器实际上相对于可拖动项目的顶部和左侧设置了光标。
$("#ulDragNew").append(liItem).find("li").draggable({
helper: 'clone',
cursorAt: {
left: 40,
top: 20
},
revert: function (event) {
//hides tooltip when not a valid drop
$(".tooltipProduct:visible").hide();
return !event;
},
cursor: 'move',
zIndex: 100
});
}