我工作的可拖动的插件细而使用jQuery UI的1.8.2,然后我改1.10.1。 我发现的主要区别是,在启用和禁用插件,我不再需要使用:
$this.draggable('option', 'disabled', true);
但可以简单地使用
$this.draggable('disable');
但后来我意识到还有另外一个问题。 我得到这个错误,这打乱了我的整个程序,我不知道如何解决它:
错误:不能调用方法拖动在初始化之前; 试图调用方法“启用”
为了解决这个问题,我保证,我总是调用$this.draggable('enable');
之前的任何其他选项,但它并没有发挥作用。 有什么问题?
你的错误的含义是: $this.draggable('enable');
之前被称为$this.draggable();
。
检查你的编程'的执行流程:确保你确实初始化插件:(例如称为$this.draggable();
试图用它做任何事情之前)。
扩大对什么LeGEC说...
$this.draggable();
之前被称为$this.draggable('enable');
对我来说,解决办法是链这样的情况下...
$this.draggable().draggable('disable');
首先宣布$这是一个可拖动,然后宣布它dissabled
从jQuery的1.6.1升级到1.9.1,当我有一个类似的问题
var tr$ = $('<tr>', { draggable: 'true' });
扔“不能叫上拖动在初始化之前的方法”
修改为:
var tr$ = $('<tr>');
if(!('draggable' in document.createElement('span'))) {
//handle old browsers
} else {
tr$.attr('draggable', 'true');
}
在发布的情况下它可以帮助别人这样看问题。
文章来源: jQuery-UI draggable error 'cannot call methods prior to init', in updating to version 1.10.1