簡體   English   中英

jQuery UI Draggable:Stack on Click

[英]jQuery UI Draggable: Stack on Click

有沒有什么方法可以在點擊它時啟動draggable的堆棧程序,而不僅僅是拖動?

我找到了這個解決方案,它基本上只是試圖復制庫代碼。 (它也缺少我在下面插入的重要部分)。 有沒有更優雅的解決方案?

修改作者的代碼,以下解決方案有效:

function bringFront(elem, stack){
    // Brings a file to the stack front
    var min, group = $.makeArray($(stack)).sort(function(a, b) {
        return (parseInt($(a).css("zIndex"), 10) || 0) - (parseInt($(b).css("zIndex"), 10) || 0);
    });

    if(group.length < 1) return;
    min = parseInt(group[0].style.zIndex, 10) || 0;
    $(group).each(function(i) {
        this.style.zIndex = min+i;
    });

    if(elem == undefined) return;
    $(elem).css({'zIndex' : min+group.length});
}

但是以某種方式調用庫方法顯然會更好。

通過黑客攻擊jquery draggable小部件找到了解決方案:

$('#myDraggable').click(function(event){
    var widget = $('#myDraggable').data('ui-draggable');
    widget._mouseStart(event);
    widget._mouseDrag(event);
    widget._mouseStop(event);   
}); 

您是否只是嘗試通過點擊觸發可拖動堆棧?

 $('#target').on("click", function() {
       $( this ).draggable({ stack: "#products" });
 });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM