2013-03-09 20 views
0

我想知道是否可以定義只有特定項目才能排序的jquery手柄。Jquery只有特定項目的可排序手柄

我有可編輯和不可編輯的div,所以我希望可編輯的div只能通過它們的手柄進行排序,而不可編輯的div可以在沒有手柄的情況下進行拖動。

+0

你的意思是這樣的http://jqueryui.com/sortable/#items? – 2013-03-09 12:37:24

+0

不,我希望所有的項目都可以排序,我希望文本框(可編輯的div)有一個單獨的句柄(附加到它)進行排序,以便當用戶點擊它時,它將允許鍵入而不是排序 – 2013-03-09 12:57:03

回答

2

如果我理解正確,您希望它們都是可排序的,不可編輯整個div,並且只能編輯它的句柄。

你有一個類.handle?

上可編輯的,使其成爲一個小跨度或東西,在不可編輯的使它整個容器div。

<li class="ui-state-default"> 
    <span class="handle">handle</span> 
    <textarea>editable</textarea> 
    </li> 
<li class="ui-state-default"> 
    <div class="handle">Item 2</div> 
</li> 

這樣的:

http://jsfiddle.net/Jr8xU/

+0

有趣...會嘗試這個,讓我知道 – 2013-03-09 12:58:58

+0

我試過這個,但無法弄清楚相同的設計在不同的場景下可能會有不同的表現。我並不是那麼深入你看到的CSS。 – 2013-03-12 07:29:13

1

jQuery的排序咱們聲明手柄選項動態,通過制定者,如:

// setter 
$(".sortable").sortable("option", "handle", ".handle"); 

如果您編碼鼠標接口,你可以試試收聽鼠標懸停/跳出事件。然後,禁用元素上的手柄無把手的:

$(".sortable").sortable("option", "handle", false); 

而且鼠標變回了:

$(".sortable").sortable("option", "handle", ".handle");