我无法确定给定jQueryUI
小部件实例的类型。
Widget Factory的jQueryUI 文档提出了两种技术。从“实例”部分:
可以使用 instance() 方法从给定元素中检索小部件的实例。[...] 如果在与小部件无关的元素上调用 instance() 方法,则会返回 undefined。
:data 选择器还可以确定元素是否绑定了给定的小部件。
根据他们的示例,假设我初始化了一个日期选择器,然后代码检查它是否是一个日期选择器:
<p>Date: <input type="text" id="datepicker"> </p>
$(function() {
$("#datepicker").datepicker();
// ...
var i = $("#datepicker").progressbar("instance"); // i is undefined as expected
console.log(i);
var b = $("#datepicker").is(":data('ui-datepicker')"); // b = false, not sure why
console.log(b);
var i2 = $("#datepicker").datepicker("instance"); // this throws an exception
console.log(i2);
});
根据文档,我希望.is
调用返回 true,最后一行返回实例(不抛出异常。)
JSFiddle 在这里。(您需要打开浏览器的控制台才能查看记录的输出。)