我有一个div按钮,它有一个title属性,用于使用jQueryUI创建工具提示的文本。我想通过点击按钮来更改工具提示。但是,当单击按钮并触发回调函数时,鼠标位于div上,而title为空。
我该如何解决这个问题?看起来jQueryUI Tooltip小部件在悬停时会删除title,并在鼠标移出时重新添加。
$( document ).tooltip();
$(".btn").click(function(){
alert($(this).attr("title")); // Expect to see T1 or T2 but shows blank
if ($(this).attr("title")=="T1"){
$(this).attr("title","T2")
}else{
$(this).attr("title","T1")
}
});
实时演示:http://jsfiddle.net/lordloh/ckTjA/
如果没有jQueryUI提示部件,一切都看起来正常:http://jsfiddle.net/lordloh/ckTjA/1/
此外,我已经将提示部件应用于$(document)
。所以我不能使用$(this).tooltip("option","content")
,因为提示没有明确地应用于$(this)
。这会在控制台上导致Javascript错误。
2013年2月18日:目前,我正在运行$(document).tooltip("destroy");
,更改标题属性和$(document).tooltip();
。这不是一个优雅的解决方案 :-( 我正在寻找一个不是hack的解决方案。
$(this).attr("data-ui-tooltip-title")
访问它? - Lord Loh.data-xxx
中。如果没有,则会将其存储在内部数组或类似的地方。 - BG100