jQuery UI提示工具小部件删除标题属性

3

我尝试使用jQuery UI Tooltip Widget,但发现有一些问题。如果工具提示处于打开状态,则会删除其所在元素的title属性。我该如何解决这个问题? 我尝试了以下方法:

<div class="spbin" title="NAME"><div class="ptmd aud" title="LINK"></div></div>

脚本:

$('[title]').tooltip({
open:function(){var te=$('.ui-tooltip-content').html();
$(this).attr('title',te);}},
{show:{effect:'slideDown',delay:250}},
{hide:{effect:'explode',delay:250}},
{track:true});

但它并没有帮助我。

为什么你想这样做呢?我猜这是为了防止浏览器在显示工具提示时同时显示标题。 - Barmar
这些属性被用于另一个脚本。这个例子对于一个div和title元素很好用,但如果它们超过一个就不能工作。 - Aleksov
3
不应该将title属性用于自己的目的。应该将信息放在一个data-XXX属性中。 - Barmar
你是正确的,它这样做是为了防止浏览器在显示工具提示时同时显示标题。 - Aleksov
好的!我会尽力按照您的建议去做。 - Aleksov
显示剩余2条评论
1个回答

2

我按照Barmar建议的方法去做了,它行了。不再需要返回属性title的值了。我使用了下面的代码:

<div class="spbin" data-n="NAME">
     <div class="ptmd aud" data-l="LINK"></div>
</div>
<div class="tlv"></div>

脚本:

$('[title]').tooltip(
    {show:{effect:'slideDown',delay:250}},
    {hide:{effect:'explode',delay:250}},
    {track:true}
);

$('.spbin').each(function(){
    $('.tlv',this).text(this.dataset.n);
    $(this).attr('title',this.dataset.n);
    $(this).hide();
    $(this).delay(du*2).fadeIn(du);
});

再次感谢Barmar!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接