我在使用 jQuery UI 工具提示时遇到以下问题:
有时,当有 ajax 调用时,UI 工具提示中的某些内容会挂起,从而阻止不透明度处理程序。
一个场景:我有一个元素 list ,其中一些可能正在冷却,当冷却完成后,库存会重新加载。
重新加载此库存时,再次应用工具提示(原因是将它们应用于库存中的新元素)。
有时会发生工具提示停止工作,并且在 DOM 中卡住不透明度:0。截图如下 >
这会导致其他工具提示无法正常工作,但任何应该改变不透明度的东西(任何淡入、淡出等事件)也会被破坏。
这个问题可能是我在每次 ajax 调用后重新应用工具提示吗?
有没有一种方法可以将 document.ready 上的工具提示也应用于所有 future 的元素?(也许以某种方式使用 .on()?)
下面是一些可以理解问题的屏幕截图:
如果我在控制台中评论不透明度。
它显示了工具提示,但仍然不起作用。
我应用工具提示的代码。
// In the done() function of the ajax call I just call
_startTooltips();
// Which does this
function _startTooltip(){
$('.item').tooltip({
show:{
delay:600
},
items: ".item",
content : function(){
var element = $(this);
if(element.is('.item')){
return element.children('.item-tltp').html();
}
},
position:{
my: "center bottom-20",
at: "center top",
},
track: true
})
}
最佳答案
如果没有 jsfiddle 来重现(我知道很难隔离你的场景)不容易找出原因,但作为一个“远射”,我会尝试在你重新创建工具提示之前删除它们。
$('.item').tooltip('destroy');
$('.item').tooltip({...});
关于javascript - JQuery UI 工具提示 - 调用 ajax 后不透明度被破坏。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22555010/