Javascript Jquery UI可拖动:回滚销毁时的所有更改?
当Dragable插件的实例被销毁时(或之前的一步),有没有任何可能的方法来删除它所做的所有更改?我试过这样做:Javascript Jquery UI可拖动:回滚销毁时的所有更改?,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,当Dragable插件的实例被销毁时(或之前的一步),有没有任何可能的方法来删除它所做的所有更改?我试过这样做: if (target) { $(target).draggable("option","revert",true); $(target).draggable("destroy"); } 不起作用 编辑: 我的猜测是,在我更改了revert选项之后,它基本上设置了元素现在的起点,而不是最初的起点 编辑2: 更多代码: $(editbtn).toggle(
if (target) {
$(target).draggable("option","revert",true);
$(target).draggable("destroy");
}
不起作用
编辑:
我的猜测是,在我更改了revert选项之后,它基本上设置了元素现在的起点,而不是最初的起点
编辑2:
更多代码:
$(editbtn).toggle(
function() {
var target;
$(this).attr('data', 'on');
//appedning editor to body
editor.draggable().appendTo($('body'));
//make hints selectable
$('.ui-hint').live('click.hintAdmin', function(e) {
//get rid of prev binds/drags if present
if (target) {
$(target).draggable();
$(target).draggable("destroy");
}
$(save).unbind('click.hintAdmin');
$(del).unbind('click');
$('.ui-hintAdmin-edit-hl').removeClass('ui-hintAdmin-edit-hl');
$('.ui-hintAdmin-hider').remove();
target = e.target;
var $this = $(this);
//get hint instances and targets
var hint_t = $(this).prev();
var hint = $(this).prev().data('hint');
var offset_start, offset_stop, offset_final, axis;
$(target).append(del);
self._hintHider(hint, $this);
//making delete work and clean after itself
$(del).on('click.hintAdmin', function() {
$('.ui-hintAdmin-edit-hl').removeClass('ui-hintAdmin-edit-hl');
$(save).unbind('click.hintAdmin');
$(label).html('');
$(edit).val('');
$(del).unbind('click');
$(target).draggable("destroy");
hint_t.hint("destroy");
$('.ui-hintAdmin-hider').remove();
})
$(target).addClass('ui-hintAdmin-edit-hl');
$(label).html('Editing hint # ' + hint.options.id);
$(edit).val(hint.options.text);
//choosing the axis
switch (hint.options.position) {
case 'top':
axis = 'x';
break;
case 'bottom':
axis = 'x';
break;
case 'left':
axis = 'y';
break;
case 'right':
axis = 'y';
break;
}
offset_start = $(target).offset();
$(target).draggable({
axis: axis,
grid: [5, 5],
stop: function(e, ui) {
offset_stop = ui.offset;
switch (hint.options.position) {
case 'top':
offset_final = '' + offset_stop.left - offset_start.left + '';
console.log('top' + offset_final);
break;
case 'bottom':
offset_final = '' + offset_start.left - offset_stop.left + '';
console.log('bottom' + offset_final);
break;
case 'left':
offset_final = '' + offset_stop.top - offset_start.top + '';
console.log('left' + offset_final);
break;
case 'right':
offset_final = '' + offset_stop.top - offset_start.top + '';
console.log('right' + offset_final);
break;
}
;
}
});
{rest of the code . .}
}
检查这是否有效$(目标).draggable({revert:true})@Nikhil检查了,工作了,对象表示法也不工作:(我没有得到“对象表示法也不工作”?@Nikhil我的意思是{revert:true},因为我之前已经初始化了它,根据文档,您以后只能使用“option”,“name”来更改选项,value.如果可能的话,你能发布与draggable相关的全部代码吗?