Tipsy jquery plugin已安装在我的应用
中这是我的加载功能
$(function() {
tipsy();
});
下面的代码是在js文件中
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提示。
答案 0 :(得分:4)
这是一个已知错误,将在下一个版本中修复。现在请使用此提交中的“下载源”链接:
http://github.com/jaz303/tipsy/commit/88923af6ee0e18ac252dfc3034661674b7670a97
答案 1 :(得分:2)
这个tipsy插件似乎删除了title
属性并将其值分配给名为original-title
的自定义属性,以避免显示默认的浏览器工具提示。也许在你的情况下,这发生得太晚了:鼠标悬停在元素上,这启动了本机浏览器工具提示。然后,在元素上执行tipsy()
并切换属性名称,但为时已晚,因为本机工具提示的超时已经开始。
您应该阻止事件的默认操作,例如:
$('#new_div').bind('mousover', function (e) {
tipsy(this);
e.preventDefault();
});
编辑:由于这似乎没有达到预期的效果,请在创建div后立即调用tipsy($('#new_div'))
并删除mouseover
处理程序。无论如何,你一直在做的事情可能有点问题:这个有意思的插件可能会使用mouseover
事件,你在.tipsy( { gravity: 'w' } )
事件处理程序中调用onmouseover
。反复,如果你mouseout然后再次mousover。这是很多不必要的事件分配。
答案 2 :(得分:1)
你做错了。 试试这个:
$('#new_div').tipsy();
jQuery旨在使用JS代码中的选择器。请不要HTML格式的事件。
答案 3 :(得分:1)
另一种方法是,使用'original-title'属性而不是'title'属性。