2010-04-03 60 views
4

是否有可能显示工具提示而不进行链接?jQuery:显示没有链接的工具提示

例如,我已经没有链接下面的代码:

<ul class="letters" title="This is the title"> 
<li>A</li> 
<li>B</li> 
<li>C</li> 
</ul> 

所以,我怎么能显示工具提示“这是标题”当我鼠标就可以了?

顺便说一句,我不想​​使用任何工具提示插件。

回答

5

你让你的生活有点困难,说你不想要利用其他人已经完成的任何工作。 :-)

一些零部件:

  • 你可以找到所有通过$jQuerytitle属性ul元素:

    var targets = $("ul[title]"); 
    
  • 你可以看他们对于mouseenter事件,如果没有mouseleave事件在X毫秒内触发,则显示您的工具提示。 (这些是特定于IE的事件,但是jQuery在所有浏览器上都提供了它们,这是非常有用的,它还提供了hover,这只是一种方便的方式,用于连接mouseentermouseleave处理程序。)虽然这意味着您要连接很多事件处理程序(因为mouseentermouseleave不会冒泡  —是什么使他们如此方便的一部分)。您最好在文件级别跟踪mouseover/mouseout并处理出现的复杂性,因为他们的做的是泡泡。

  • 要显示你的提示,你可以得到元素的位置的问题(通过offset),并显示一个绝对定位的div附近,其含有标题(您可以通过attr得到)。

  • 当用户将鼠标移出工具提示(mouseleave)时,请将其移除。

但是,您也可以考虑使用已完成此项目的代码,找到所有皱纹等。首先仔细阅读代码,以确保它正在做你想做的事,而不是你不想做的事,但重新发明轮子通常(并非总是)浪费时间......即使你实际上并没有最终使用插件,通读以查看陷阱可能是有用的。

1

获取title属性

title = $('.letters').attr('title'); 

并从那里工作了。在Jquery中没有神奇的“title_tooltip_popup()”函数,所以你可以考虑制作自己的插件或使用插件。


请记住,如果你正在使用类此选择

$('.letters') 

可能引用超过1元

+0

我错了评论... – bloggerious 2010-04-03 05:48:08

+0

$( '信 ')悬停(函数(){ \t标题= $(本).attr(' 标题');} )。 – Ben 2010-04-03 06:01:13