我正在寻找一种方法,如果某些内容未验证,则从恢复状态触发事件,例如,如果元素不存在,它将从另一个列表中创建它,但如果它已经存在,则应该转到 else 并将元素返回到其原来的位置:
$( "#catalog ul" ).droppable({
tolerance: 'fit',
activeClass: "ui-state-default",
hoverClass: "ui-state-hover",
accept: ":not(.ui-sortable-helper)",
drop: function( event, ui ) {
//check if already exists
if($(this).find("#"+$(ui.draggable).attr("id")).length==0){
$( "<li id="+$(ui.draggable).attr("id")+"></li>" ).text( ui.draggable.text() ).appendTo( this )
.draggable({
revert: 'invalid',
stop: function(){
$(this).draggable('option','revert','invalid');
}
}).droppable({
greedy: true,
tolerance: 'touch',
drop: function(event,ui){
ui.draggable.draggable('option','revert',true);
}
});
}else{
//want to make the object go back by setting true to revert
return false;
}
}
})
谢谢 Kenji,这确实有效:
ui.draggable.draggable('option','revert',true);
我也为此苦苦挣扎了一上午,直到找到你的帖子,谢谢
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)