jQuery UI可拖动错误'不能在init'之前调用方法;,更新到1.10.1版本
jQuery-UI draggable error 'cannot call methods prior to init', in updating to version 1.10.1
我在使用jQuery UI 1.8.2时很好地处理了可拖动插件,然后我改为1.10.1。我发现的主要区别是,在启用和禁用插件时,我不再需要使用:
$this.draggable('option', 'disabled', true);
但可以简单地使用
$this.draggable('disable');
但后来我意识到还有另一个问题。我遇到了这个错误,它扰乱了我的整个程序,我不知道如何修复它:
错误:无法在初始化之前调用draggable上的方法;尝试调用方法"enable"
为了解决这个问题,我确保在任何进一步的选项之前总是调用$this.draggable('enable');
,但这并没有什么不同。怎么了?
错误的含义是:$this.draggable('enable');
在$this.draggable();
之前调用。
检查您的程序的执行流程:在尝试对插件进行任何操作之前,确保您确实初始化了插件(例如:名为$this.draggable();
)。
扩展LeGEC所说的。。。
$this.draggable();
在$this.draggable('enable');
之前被调用
对我来说,解决方案是像这样把事件串起来。。。
$this.draggable().draggable('disable');
首先声明$this是可拖动的,然后声明它是禁用的
从jquery 1.6.1升级到1.9.1 时,我遇到了类似的问题
var tr$ = $('<tr>', { draggable: 'true' });
throw"在初始化之前无法在draggable上调用方法"
修改为:
var tr$ = $('<tr>');
if(!('draggable' in document.createElement('span'))) {
//handle old browsers
} else {
tr$.attr('draggable', 'true');
}
张贴,以防有助于其他人以这种方式看待它。
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- javascript从子方法调用父方法
- 我应该返回一个类似console.log()的方法调用吗
- NodeJS-从同一文件中的另一个方法调用一个方法
- 使用restangular save方法调用put与post时的控件
- 从实例方法调用实例方法
- Node.js-异步方法调用问题
- Jquery事件绑定获胜'当作为方法调用时不起作用,但当直接在控制台中调用时会起作用
- 向模板实例变量传递调用方法调用的结果时出现异常
- jQuery 方法调用了两次
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- 组合 onLayout 的方法调用
- lodash/下划线 - 使用绑定与方法调用和方法保持未绑定
- 从公共方法调用模块的私有函数
- 如何对 jqGrid 的 loadComplete 和 onSelectRow 进行基因预和后方法调用
- 完全限定的 JavaScript 方法调用
- 为什么我在 Angular JS 中收到两个方法调用
- 如何在从排序方法调用参数时将其传递给回调
- 使用两种不同的方法调用方法
- 如何在 javascript 中更改方法调用的全局范围