根据这个jsbin我有一个sortable列表和一个按钮.当点击按钮的东西添加到sortable,我想知道哪个事件sortable被触发?(更新,接收),并在找到事件时对该事件做一些事情.
例如,如果用户点击add按钮我想知道哪个事件被触发并在事件上做某事.例如,如果更新火我在可排序的更新方法中做了一些事情
$('.sort').sortable({
update:function(){
//if update fire do some thing
}
});
$('#add').click(function(){
$('.sort').append('<li>Text</li>');
});
Run Code Online (Sandbox Code Playgroud) 我有一个JQuery可排序(1.7.1可以在必要时更改)列表如下:
<ul id='pl'>
<li class='item'>1</li>
<li class='item locked'>2</li>
<li class='item'>3</li>
<li class='item'>4</li>
<li class='item'>5</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
第二个项目被锁定,因此如果尝试在插槽2中移动项目5,则它将进入插槽3,如果尝试在插槽1中移动,则插槽1中的现有项目将下降为3,项目5将变为1.
实现逻辑很简单,但我需要知道的是,是否有任何以编程方式移动项目,包括动画.
确实发现这个已经以jQuery可排序方式移动项目,同时仍然触发事件但不确定'sortupdate'事件是否会模拟拖放或者它是否会起作用?
我正在使用一个UI,可以在每个项目中按一个delete按钮进行排序.这是删除功能:
$('.delete_item').click(function(){
$(this).closest('.grid_3_b').remove();
initSortable();
$(".sortable").sortable('refresh').trigger('update');
});
Run Code Online (Sandbox Code Playgroud)
该div获取的去除,我想,但没有update发送到PHP ..所以我的脚本将无法保存订单和已删除项目的数据..
这是我的initSortable();功能:
function initSortable() {
$( ".sortable" ).sortable({
items: '.grid_3_b, .dropable',
connectWith: ".sortable",
placeholder: "placeholder",
remove: function(event, ui) {
if(!$('div', this).length) {
$(this).next('.dropable').remove();
$(this).remove();
}
initMenu();
},
receive: function(event, ui) {
if( $(this).hasClass( "dropable" ) ) {
if( $(this).hasClass( "gallery__item--active" ) ) {
$(this).before( "<div class=\"dropable gallery__item sortable\"></div>" );
$(this).after( "<div class=\"dropable gallery__item sortable\"></div>" );
initSortable();
$(".sortable").sortable('refresh').trigger('update');
initMenu();
}
}
},
update : function () …Run Code Online (Sandbox Code Playgroud)