2013-01-04 34 views
3

我正在使用此嵌套排序插件http://mjsarfatti.com/sandbox/nestedSortable/對來自我的內容管理系統的圖像幻燈片進行排序。嵌套排序中的放置事件

我嘗試使用HTML5 ondrop事件,以便每當降事件發生時,排序將通過Ajax後得救,但仍降不進入save_order功能

HTML:

<div ondrop="save_order(event)" ondragover="return false;> 
    <ol class="sortable"> 
     <li id="list_1" draggable="true" class="mjs-nestedSortable-no-nesting"><div><img src="{image_path}"/></div></li> 
     <li id="list_2" draggable="true" class="mjs-nestedSortable-no-nesting"><div><img src="{image_path}"/></div></li> 
    </ol> 
</div> 

JS:

$(document).ready(function(){ 
    $('.sortable').nestedSortable({ 
     disableNesting : 'mjs-nestedSortable-no-nesting', 
     handle   : 'div', 
     items   : 'li', 
     toleranceElement: '> div' 
    }); 
}); 

function save_order(event) 
{ 
    serialized = $('ol.sortable').nestedSortable('serialize'); 
    $.post({my_ajax_url}',serialized,function(data){ 
     alert('save!'); 
    }); 
} 

回答

8

剛剛得出結論。使用停止屬性。像...

$(document).ready(function(){ 
    $('.sortable').nestedSortable({ 
    disableNesting : 'mjs-nestedSortable-no-nesting', 
    handle   : 'div', 
    items   : 'li', 
    toleranceElement: '> div', 
    stop: function() { save_order(); } 
    }); 
}); 
+0

哇,omg,你是怎麼找到它的?它像魅力一樣運作,我花了很多時間找到這樣的東西。我正在查看記錄的事件「重新定位」,但這根本不起作用。 – misha

+0

Tnx。有使用重定位事件而不是停止的問題...將一個孩子從一個父母移到另一個父母不會觸發重定位事件。在這個例子中使用停止事件是我的問題的解決方案。 – mindore