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

时间:2014-02-04 09:57:39

标签: jquery ajax jquery-ui solr

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

但是当我将它升级到jquery-1.10时。*它给了我这个例外:

  

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

3 个答案:

答案 0 :(得分:15)

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

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

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

答案 1 :(得分:3)

如果要确保销毁自动完成窗口小部件,可以通过检查目标元素的CSS类来检查它是否实际初始化,例如

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

答案 2 :(得分:0)

关于小部件调用,我也收到类似的错误

console error

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

在test-result.component.ts中,

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

因此,最简单的解决方法是删除该特定调用或将其放在初始化之后,然后测试该调用是否破坏了任何样式。对我来说,删除小部件调用不会造成任何危害,因此继续进行。

相关问题