如何解决jQuery工具工具提示不会消失
| 我有一个工具提示,该提示会出现在带有标题的所有内容上:$(\"[title!=]:not(IFRAME)\").tooltip();
我有一个可以添加或删除的人员列表,单击位于该人员上方的删除按钮,然后单击将其替换为另一个人员。
当您单击“删除”按钮时,将显示工具提示,因为该项目带有。但是,一旦您将该人换掉,工具提示将不会消失。
我非常确定,原因是该人被删除后就不会有鼠标移开,因此工具提示永远不会消失。
我尝试了这个:
$(\'.remove-player-large a\').click(function() {
$(\"[title!=]:not(IFRAME)\").tooltip().hide();
});
但是没有运气
对于如何解决这个问题,有任何的建议吗?
这有意义吗?
解决方法
您可以使用hideTooltip()函数隐藏工具提示。
var $tooltip = null;
$(function(){
$tooltip = $(\"input[type=\'text\']\").tooltip({
// place tooltip on the right edge
position: \"center right\",// a little tweaking of the position
offset: [-2,10],// use the built-in fadeIn/fadeOut effect
effect: \"fade\",// custom opacity setting
opacity: 0.6
});
$(\"#close\").click(function(){
hideTooltip();
});
});
function hideTooltip()
{
if($tooltip)
{
$tooltip.each(function(index){
var $this = $(this).data(\'tooltip\');
if($this.isShown(true))
$this.hide();
});
}
}
,jqueryUi工具提示存在ipad问题,如果我们单击页面上的任意位置,工具提示不会消失,因此此简单的解决方案适用于我并在ios 6,ios 7,ios 8设备上工作
$(\"#selector \").tooltip( \"close\" );
,删除工具提示元素以及链接。
$(\'.remove-player-large a\').click(function() {
$(\'.tooltip\').remove();//remove the tool tip element
});
如果您不知道工具提示元素的类名称,则需要使用Firebug进行检查,或者可以在工具提示源代码中找到它
,我遇到了同样的问题,并且我发现这里没有有效的解决方案,对上述问题的正确答案是使用JQuery工具api获取正确的tooltip元素,然后在删除所有者之前删除它工具提示。
var t = $(\'#object_to_remove\').data(\'tooltip\');
if(t) t = t.getTip();
if(t) t.remove();
$(\'#object_to_remove\').remove();
if(t)块是必需的,这样,即使未附加工具提示或尚未调用工具提示,也不会出错。
由于它们是懒惰地添加到DOM的,因此t.getTip可能返回undefined(这意味着工具提示数据仍驻留在title属性中,因此无需清理,因为它将被拥有的DOM元素删除)。
,我认为最干净的方法是调用以下命令:
$(\"#your-element\").tooltip(\'destroy\');
简而言之,它将删除您当前的工具提示功能,并且ѭ7会恢复为正常状态。
这是一个官方文档:https://api.jqueryui.com/tooltip/#method-destroy
,在删除此人之前,请将其发送给.mouseout()事件。这将触发工具提示的正常鼠标移出行为,并应隐藏工具提示(如果在鼠标移开时确实消失了)
,jqueryui工具提示和iPad的一些相关问题在这里得到了很好的回答
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。