我在另一個div'box'父容器中有div'slide'元素,並且已將JQuery Draggable應用於子項。在拖動項目時,我正在調整父容器的大小,有時會縮小,有時會擴大它。在拖動時調整JQuery可拖動元素的包含父項的大小
問題是,JQuery沒有響應這個調整大小,仍然包含在父級的原始尺寸內的拖動元素,而不是在其當前的大小,直到mouseup - 下一個拖動會話將使用新的尺寸直到它再次改變)。
要嘗試和解決這個問題,我希望能觸發鼠標鬆開事件後,通過鼠標按下事件,讓jQuery將使用新的容器大小:
$('.slide').draggable({ axis: "x", containment: 'parent',
drag: function (e, ui) {
resizeContainer();
if (outsideContainer()){
// Try to stop and restart dragging
$(this).trigger('mouseup');
$(this).trigger('mousedown');
}
}
然而,這將引發異常...
Unable to get value of the property '0': object is null or undefined
...在這條線的jQuery代碼:
this.helper[0].style.left=this.position.left+"px";
任何人都知道^ h我可以a)讓Draggable實時響應父維度的變化或b)觸發dragstop然後無縫地dragend?
謝謝。
順便說一句,我知道我可以使用返回false,結束拖動,但我需要這對用戶來說是不可見的,所以他們可以繼續移動鼠標來拖動元素,而不必鼠標移動並再次返回。 – Fijjit