Javascript TimeSpinner检查是否未定义不工作

Javascript TimeSpinner检查是否未定义不工作,javascript,jquery,jquery-ui,spinner,jquery-ui-spinner,Javascript,Jquery,Jquery Ui,Spinner,Jquery Ui Spinner,目前,我有一个输入文本字段,该字段可能有也可能没有一个TimePinner绑定到该特定元素。在某些情况下,我需要完全删除timespinner功能(而不是禁用它),以便在页面上正确显示它 目前,我有代码检查元素上是否存在timespinner,如下所示: if ($("#ElementOfInterest").timespinner !== undefined){ $("#ElementOfInterest").timespinner("destroy"); } 当第一次加载页面时,这

目前,我有一个输入文本字段,该字段可能有也可能没有一个TimePinner绑定到该特定元素。在某些情况下,我需要完全删除timespinner功能(而不是禁用它),以便在页面上正确显示它

目前,我有代码检查元素上是否存在timespinner,如下所示:

if ($("#ElementOfInterest").timespinner !== undefined){
    $("#ElementOfInterest").timespinner("destroy");
}
当第一次加载页面时,这可以正常工作,但是,这会引发以下异常:

无法在初始化之前调用timespinner上的方法;企图 调用方法“destroy”

出于某种原因,对
未定义的
的检查会传递并尝试在不存在的元素上创建一个timespinner

因此,目前要让我的UI正常运行,唯一的方法是将其包装在一个
try/catch
块中,如下所示:

if ($("#ElementOfInterest").timespinner !== undefined) {
    try {
        $("#ElementOfInterest").timespinner("destroy");
    } catch (error) {
    }
}
这是可行的,但相当草率。我希望检查成功并从代码中删除
try/catch

我是不是少了一张特别支票什么的?这是怎么回事

更新

我尝试了@GlenSwift建议的以下代码:

if (typeof $("#ElementOfInterest").spinner("instance") !== 'undefined') {
    $("#ElementOfInterest").timespinner("destroy");
}
然而,这给了我一个例外:

无法在初始化之前调用微调器上的方法;企图 调用方法“实例”

我还尝试了
timespinner(“实例”)
,但我还是得到了回报:

未定义不是一种方法

因此,检查timespinner的实例似乎未实现。

请尝试:

if (typeof $( "#ElementOfInterest" ).spinner( "instance" ) !== 'undefined') {
    $("#ElementOfInterest").timespinner("destroy");
}

参考:

$(“#兴趣元素”)。timespinner!==undefined
只需检查是否定义了
$()。timespinner
,只要加载插件,它就会被定义。检查元素是否具有微调器添加的类如何
if($(“#ElementOfInterest”).hasClass('ui-spinner-input'))

“这会引发异常”。请提供错误消息?添加了在我的更新中引发的异常。我尝试了,但没有成功。我相信我以前试过,但没有任何好结果。我更新了我的问题,但收到了一个例外。请检查代码执行时是否加载了jquery和jquery ui