如何检测输入框当前是否为jQuery UI自动完成?似乎没有成为这一个本地方法,但我希望有简单的东西是这样的:检测jQuery UI自动完成
if ($("#q").autocomplete)
{
//Do something
}
以至于条件,但是,似乎总是返回true。
如何检测输入框当前是否为jQuery UI自动完成?似乎没有成为这一个本地方法,但我希望有简单的东西是这样的:检测jQuery UI自动完成
if ($("#q").autocomplete)
{
//Do something
}
以至于条件,但是,似乎总是返回true。
if ($("#q").hasClass("ac_input")) {
// do something
}
UPDATE
在JQuery用户界面自动完成插件的类名称现在是 'UI的自动完成输入' 使代码如下:
if ($("#q").hasClass("ui-autocomplete-input")) {
// do something
}
这是真的,因为一旦你包含了自动完成js,每个$()对象现在都会定义一个autocomplete()方法(如果你想激活这些元素的自动完成)。你的if()只是说这个函数不是null。
我很遗憾没有一个可以检查的系统(今天离开了笔记本电脑),但我相信自动完成功能会为它使用的元素添加一个css类名称。你可以找那个。
您可以使用
if($.isFunction($.fn.autocomplete)){ }
.isFunction是jQuery库的一部分。 (引用:http://james.padolsey.com/jquery/....isFunction)
您也可以通过下面的代码行连接到输入要素的自动完成行为:
if ($('Selector').data('autocomplete')) {
}
如果自动完成的jQuery UI插件已经包含了网页只是想和你以检查是否一个特定的(输入)元件已经设置有自动完成功能,则可以使用官方API方法,如下所示:
if ($("#q").autocomplete("instance")) {
console.log("autocomplete already setup for #q");
} else {
console.log("NO autocomplete for #q");
}
更多细节可以是FO und at http://api.jqueryui.com/autocomplete/#method-instance
这只是检查`autocomplete`是否作为函数存在,这意味着自动完成插件被加载到内存中。但这不是问题的要求。 – 2011-09-01 22:04:15