首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >jquery tipsy插件

jquery tipsy插件
EN

Stack Overflow用户
提问于 2010-02-09 15:05:34
回答 4查看 9.3K关注 0票数 1

我的应用程序中安装了Tipsy jquery plugin

这在我的load函数中

代码语言:javascript
复制
 $(function() {
    tipsy();
 });

下面的代码是js文件中的

代码语言:javascript
复制
var htm = '<div id="new_div" onmouseover="tipsy(this);">' ;

function tipsy(tip)
{
    if ( '' != sumtitle )
    {
        tip.title =  tip.innerHTML;
    }
    else if(tip)
    {
        tip.title =  tip.innerHTML;
    }
    $(tip).tipsy({gravity: 'w'});
}

为什么先显示普通标题,然后显示jquery提示。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-02-09 15:13:30

tipsy插件似乎删除了title属性,并将其值赋给一个名为original-title的自定义属性,以避免显示默认的浏览器工具提示。也许在您的情况下,这发生得太晚了:鼠标悬停在元素上,这将启动本机浏览器工具提示。然后,在元素上执行tipsy()并切换属性名,但为时已晚,因为本机工具提示的超时已经开始。

您可能应该阻止事件的默认操作,例如:

代码语言:javascript
复制
$('#new_div').bind('mousover', function (e) {
    tipsy(this);
    e.preventDefault();
});

编辑:由于这似乎没有达到预期的效果,请在创建div后立即调用tipsy($('#new_div'))并删除mouseover处理程序。无论如何,您所做的可能有点问题: tipsy插件可能使用mouseover事件,并且您在onmouseover事件处理程序中调用.tipsy( { gravity: 'w' } )。反复地,如果您鼠标移出,然后再次鼠标悬停。这是很多不必要的事件分配。

票数 2
EN

Stack Overflow用户

发布于 2010-02-09 19:49:29

这是一个已知的错误,将在下一个版本中修复。现在请在此提交上使用"Download Source“链接:

http://github.com/jaz303/tipsy/commit/88923af6ee0e18ac252dfc3034661674b7670a97

票数 4
EN

Stack Overflow用户

发布于 2010-02-09 19:11:49

你做错了。试试这个:

代码语言:javascript
复制
$('#new_div').tipsy();

jQuery是为在JS代码中使用选择器而设计的。请不要在HTML中发生任何事件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2227361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档