我的应用程序中安装了Tipsy jquery plugin
这在我的load函数中
$(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提示。
发布于 2010-02-09 15:13:30
tipsy插件似乎删除了title属性,并将其值赋给一个名为original-title的自定义属性,以避免显示默认的浏览器工具提示。也许在您的情况下,这发生得太晚了:鼠标悬停在元素上,这将启动本机浏览器工具提示。然后,在元素上执行tipsy()并切换属性名,但为时已晚,因为本机工具提示的超时已经开始。
您可能应该阻止事件的默认操作,例如:
$('#new_div').bind('mousover', function (e) {
tipsy(this);
e.preventDefault();
});编辑:由于这似乎没有达到预期的效果,请在创建div后立即调用tipsy($('#new_div'))并删除mouseover处理程序。无论如何,您所做的可能有点问题: tipsy插件可能使用mouseover事件,并且您在onmouseover事件处理程序中调用.tipsy( { gravity: 'w' } )。反复地,如果您鼠标移出,然后再次鼠标悬停。这是很多不必要的事件分配。
发布于 2010-02-09 19:49:29
这是一个已知的错误,将在下一个版本中修复。现在请在此提交上使用"Download Source“链接:
http://github.com/jaz303/tipsy/commit/88923af6ee0e18ac252dfc3034661674b7670a97
发布于 2010-02-09 19:11:49
你做错了。试试这个:
$('#new_div').tipsy();jQuery是为在JS代码中使用选择器而设计的。请不要在HTML中发生任何事件。
https://stackoverflow.com/questions/2227361
复制相似问题