错误:无法在初始化之前调用自动完成的方法;试图调用方法“销毁”

Posted

技术标签:

【中文标题】错误:无法在初始化之前调用自动完成的方法;试图调用方法“销毁”【英文标题】:Error: cannot call methods on autocomplete prior to initialization; attempted to call method 'destroy' 【发布时间】:2014-02-28 05:22:30 【问题描述】:

我正在使用 ajax-solr。它适用于 jquery-ui-1.8.*。

但是当我将它升级到 jquery-1.10.* 时,它给了我这个异常:

无法在初始化之前调用自动完成的方法;试图调用方法'destroy'

【问题讨论】:

我在自动完成小部件的初始化中得到了答案...只需添加 $(this.target).find('input').autocomplete();这将初始化自动完成小部件,这是因为在 1.10.* .Jquery 中添加了错误消息,用于在没有正确初始化的情况下使用函数,而在以前的版本中没有。 【参考方案1】:

我在自动完成小部件的初始化中得到了答案......只需添加

$(this.target).find('input').autocomplete();

这将初始化自动完成小部件,这是因为在 1.10.* 中。Jquery 添加了错误消息,用于在没有正确初始化的情况下使用函数,而在以前的版本中没有。

【讨论】:

【参考方案2】:

如果你想确保自动完成小部件被销毁,你可以通过检查目标元素的 CSS 类来检查它是否真的被初始化,例如

if ($target.hasClass('ui-autocomplete')) 
    $target.autocomplete('destroy')

【讨论】:

【参考方案3】:

我在小部件调用方面遇到了类似的错误,

在自动完成初始化中,我们调用了它的小部件函数,这导致了控制台错误。

在 test-result.component.ts 中,

(<any> window).$(testelementId).autocomplete(
……..
(<any> window).$(this).autocomplete('widget').css('width', '100%');
…..
)

因此,最简单的解决方法是删除该特定调用或将其放置在初始化之后并测试是否会破坏任何样式。对我来说,删除小部件调用没有任何害处,所以继续吧。

【讨论】:

以上是关于错误:无法在初始化之前调用自动完成的方法;试图调用方法“销毁”的主要内容,如果未能解决你的问题,请参考以下文章

无法在初始化之前调用表上的方法;试图调用方法“刷新”

出现错误:在初始化所有存储的属性之前,方法调用“getliveData”中使用了自我

jquery 可拖动启用和禁用

JavaScript :- 不能在初始化之前调用 A 上的方法;试图调用方法“resizeGrid”

segueing时出现核心数据错误:无法在NSManagedObject类上调用指定的初始值设定项

在 init 方法完成之前调用 UIViewController viewDidLoad