我正在使用JQuery UI工具提示和AJAX来验证表单。
我正在为每个字段使用一个工具提示,我正在根据我的AJAX返回的错误更改此工具提示的内容。
为了使我的代码完整,我需要测试工具提示是否已经为此字段初始化(更改内容),否则(创建工具提示)。
问题是我不知道检查工具提示是否初始化的任何情感方法。
HTML:
<input type="text" id="text1"/>
<input type="text" id="text2"/>
我尝试了以下操作,但是他们都无法测试工具提示是否已经创建。
JQUERY:
if($("#text1").tooltip() != null) //or $("#text1").tooltip() != 'undefined'
//does'nt work because .tooltip() always return an object.
if(typeof $("#text1").tooltip() != null)//or typeof $("#text1").tooltip() != 'undefined'
//does'nt work always return an object.
if($("#text1").tooltip().hasOwnProperty('option'))//or $("#text1").tooltip().hasOwnProperty('content')
//does'nt work it always return false.
如果有人可以帮我找到一种检查工具提示是否存在的方法,那就非常感激了
谢谢!
答案 0 :(得分:19)
只需检查元素上的data('ui-tooltip')
即可。见例:
if($element.data('ui-tooltip')) {
$element.tooltip('destroy');
}
答案 1 :(得分:1)
如果有人使用的是新版本,只需更新,您只需检查tooltipstered
类:
if (!$(this).hasClass("tooltipstered")) {
// Init
}
答案 2 :(得分:0)
Resolve,我创建了一个使用我的html元素的title属性的工具提示。不是检查工具提示是否存在以创建新工具提示或更新现有工具提示,而是更新元素的title属性。
答案 3 :(得分:0)
最好使用jquery-method is():
$('#timelinechecker').is(':ui-tooltip')
所以你可以使用:
if($('#timelinechecker').is(':ui-tooltip')) {
// ... do what else...
}