2010-11-01 21 views
8

Sıralanabilir elemanlara sahip olmak mümkün mü, ancak kullanıcıların metinleri elemanların içine kopyalayıp yapıştırmasına izin vermek mümkün mü? Kolayca canSortable w/Seçilebilir Metin

<div class="sortable"> 
    <div class="pseudo-sortable">Foo</div> 
    <div class="pseudo-sortable">Bar</div> 
    <div>other stuff that i don't care if a user 
     can't copy (maybe images or buttoms)</div> 
</div> 

yapın:

$('.sortable').sortable({cancel: '.pseudo-sortable'}); 

Bu İstersem beni tarayıcı ve kopyala/yapıştır metni seçmek için izin verecektir. Ancak, bu aynı zamanda kişinin sürükleyememesine/düşmemesine de neden olur. Bu yüzden bence ne istediğimi iptalle başlamak ama eğer fare konteynerin dışında belli bir mesafeye giderse, o zaman pseudo-sortables artık iptal edilmiyor. bu mantıklı mı?

Bu mümkün değilse, son seçeneğim, metni seçebilsinler diye, sıralı ve düzenlenemeyen sıralar arasında geçiş yapan bir tetikleyici uygulamak olurdu, ancak ui tıklamaları en aza indirmeyi tercih ederim.

cevap

15

Metninizi bir <span> içine koymaya ne dersiniz?

HTML

<ul id="sortable"> 
    <li><span>Item 1</span></li> 
    <li><span>Item 2</span></li> 
    <li><span>Item 3</span></li> 
    <li><span>Item 4</span></li> 
    <li><span>Item 5</span></li> 
    <li><span>Item 6</span></li> 
    <li><span>Item 7</span></li> 
</ul> 

jQuery

$("#sortable").sortable({ 
    revert: true, 
    cancel: "#sortable li span" 
}); 

Burada deneyin: http://jsfiddle.net/6uXx8/

+0

Bu, metnin seçilebilir olmasına, ancak sürüklenmemesine izin verir. Sevdiğim şey seçilebilir olması, ancak konteyner kutusunun dışında belirli bir mesafe (~ 100px) sonra sürüklenebilir. – vol7ron

+0

teşekkürler, ihtiyacım olan buydu! –

+0

Ne istediğim kolayca mümkün değildi, bu yüzden bu en iyi cevap olurdu – vol7ron

1

handle eklemeye çalışın. Buradaki fikir, yalnızca öğeyi tutamaçtan sürüklemeye başlayabilmenizdir, örneğin öğenin içindeki bir simge olabilir.

+0

sürüklenebilir olmaya, metin dahil, bunun mümkün olduğunu biliyorum ama bütün içeriği istiyorum . Sadece bunu istiyorum, böylece metin de kopyalanabilir/geçirilebilir. Bu nedenle, metin tarafından kavrandığında öğe sürüklenmeden önce bir minimum mesafe hareketi uygulanması. – vol7ron

+0

Çok istersiniz;) fakat ciddi olarak, metnin seçilebilir mi yoksa sürüklenebilir mi olduğuna karar vermenizi öneririm; her ikisi de yapmak garip görünüyor ve kullanıcılar IMO kafası karışmış olacak. – cambraca

+0

Evet, bu, fare tıklamaları sayısını azaltmak için biraz daha gelişmiş bir şey. Şu anda, sürükle ve sürüklenemeyen arasındaki sınıfı çalıştıran bir kilitleme/kilit açma düğmem var. Sadece bu mini düğmelerini azaltmaya ve her şeyi daha iyi yapmaya çalışıyorum. – vol7ron

İlgili konular