Bunun çok garip geldiğini biliyorum çünkü zaten bir güncelleme olayı var. Ama jQuery UI İşlevleri dokunmatik cihazlar üzerinde çalışmak için touch-punch
kütüphanesini kullanıyorum. Ancak örneğin Nexus 7’nin Chrome tarayıcısında güncelleme etkinliği çalışmaz. Bu yüzden, olayını sortover
olayından tetikleyerek düzeltmeye çalışıyorum.JQuery UI Sortable ile "sortover" olayında sürüklenenin altında bir öğenin indeksi nasıl alınır?
Sorun şu ki, sürüklenen öğenin altındaki öğenin dizinini nasıl alacağımı bilmiyorum. ui.item
sadece sürüklenen öğenin dizinini döndürür. Bunun için herhangi bir jQuery UI dahili işlevi var mı? Sürüklenen öğe mousecursor
'dan daha büyük olduğu için dizgeyi fareyle üzerine getirme/vurgu denetimleri işe yaramaz. https://jsfiddle.net/8sjLw6kL/2/
Kodu: HTML:
<div id="sortable">
<div class="sortable"> bla </div>
<div class="sortable"> ble </div>
<div class="sortable"> blu </div>
</div>
JS:
İmleç konumuna da çok zor görünüyor tarafından unsurlar endeksi ... İştealınıyor bir keman olduğunu
var start_sort_index,
over_sort_index,
update_sort_index;
$('#sortable').sortable({
helper: 'clone',
containment: 'parent',
cursor: 'move'
});
$('#sortable').on('sortstart', function(event, ui){
start_sort_index = ui.item.index();
console.log('start: '+start_sort_index);
});
$('#sortable').on('sortover', function(event, ui){
over_sort_index = ui.item.index();
console.log('over: '+over_sort_index);
$('#sortable').trigger('sortupdate');
});
$('#sortable').on('sortover', function(event, ui){
update_sort_index = (typeof ui !== 'undefined')?ui.item.index():over_sort_index;
over_sort_index = undefined;
//my other code here
});
CSS:
#sortable{
width: 100%;
background-color: #ebebeb;
position: relative;
margin-top: 10px;
height: 60px;
}
.sortable{
padding: 5px 10px;
background-color: red;
margin: 5px;
float: left;
}
klasik yolu '.hide' yardımcı, .show' yardımcı tekrar' ardından, '.elementFromPoint' fare elde etmektir. Bu durumda, güncelleme sonrası işleyicinin neden ilk başta tetiklenmediğini anlamak daha iyi olurdu – blgt
Bahşiş için teşekkürler! Keşke sortupdate olayının neden bazen ateş etmediğini bilmemi isterdim ama henüz çözemedim. "ElementFromPoint" işlevi, kolayca imleci divların üst üste geldiği konumda olmadığından ve bu yüzden çoğunlukla işaretçi-olayları ayarlandığında bile ana öğeyi seçtiği için işi kolayca yapamaz: hiçbiri ve göstericiye ui-sıralanabilir olaylar: otomatik. Örtüşen pozisyona ulaşmak için hesaplama biraz karmaşıktır. ... – user2718671
... İşaretçi olaylar da çalışmıyor IE ve pozisyon almaya çalışırken aynı zamanda dokunmatik ve fare arasında farklılıklar olabilir. Biraz sıralanabilir eleman için çok karmaşık. ;) Yine de bahşiş için teşekkürler! :) – user2718671