2011-03-11 41 views
0

我有以下設置:可拖動的項目攪亂CursorAt位置

<asp:treeview cssclass="draggable"><items...> <table /> 

我將它設置成能夠從樹形視圖將項目表,使用jQuery:

$(".draggable").draggable({ helper: "clone", cursorAt: { left: -10, top: -10} }) 

因此,拖動時,克隆將保留在當前鼠標位置下方一點,以方便用戶。但是,我現在需要在開放節點將它推到一個簡單的內容頁面之外時使樹視圖可以滾動(垂直),否則拖放變得對用戶來說太難了。

在這個意義上,我已經把周圍的樹視圖可滾動的DIV,如下:

<div style="padding-right: 20px; overflow: auto; overflow-x: hidden; height: 300px;"> <asp:treeview cssclass="draggable"><items...></div> <table /> 

可正常工作,但現在的問題是 - 當拖動 - 克隆的元素不再就在鼠標位置的下方,而是下降,這對用戶來說當然是非常混亂的。

我試着刪除draggable()方法的「cursorAt」屬性,但這沒有幫助。

因此,似乎div的固定高度搞亂了克隆元素的位置......任何想法如何解決這個問題?

回答

1

好的,答案是CursorAt將默認拖動項目的父項,在這種情況下,它已經改變爲一個div。

因此改變可拖動()來

$("draggable").draggable({ helper: "clone", appendTo:'body', cursorAt: { left: -10, top: -10} }) 

固定的問題。