【发布时间】:2014-08-24 11:48:44
【问题描述】:
一个自定义网格,其项目是可拖动的,即您可以拖动任何行并将其放到左侧的树结构中。我为 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 网格的行都存在于该 ID 下。 li.ui-draggable-dragging 是 draggable 文本的类,动态附加在 ul 的底部。
任何帮助将不胜感激。我从 2 周起就陷入了困境。提前致谢!!
这是快照 -
【问题讨论】:
-
尝试在您的
cursor:move上方添加这个cursorAt: { left: 1, top:1 },然后从start中删除所有内容。以及为什么有zIndex:507000尝试添加100。 -
如果可能,请为您的代码创建一个小提琴
-
谢谢@Shail Paras。它起作用了。我从一开始就删除了所有内容,并按照您所说的在上面添加了 cursorAt。它工作正常。非常感谢
标签: javascript jquery jquery-ui jquery-plugins jqgrid