用于动态实时事件的 Tipsy jquery 插件无法正常工作
我正在使用 Tipsy jquery 插件 为动态显示的元素创建工具提示。
工具提示适用于非动态元素,因此我肯定包含了我需要的所有内容。我正在使用 jquery 1.5.1
这是我的 jquery 代码: $('.voted-user-image').tipsy({gravity:'s', live: true});
这是单击触发 AJAX 请求的链接后动态显示在 div 中的图像链接元素的 html:
<a href="/profiles/2" class="voted-user-image" title="Test">
<img alt="Justin meltzer" src="/system/photos/2/tiny/Justin Meltzer.jpeg?1306836552">
</a>`
How can I get this tooltip plugin to work?
I'm using the tipsy jquery plugin to create tooltips for dynamically appearing elements.
The tooltips work on non-dynamic elements, so I've definitely included everything that I need. I'm using jquery 1.5.1
This is my jquery code: $('.voted-user-image').tipsy({gravity:'s', live: true});
This is the html of an image link element that appears dynamically in a div after a link is clicked that triggers an AJAX request:
<a href="/profiles/2" class="voted-user-image" title="Test">
<img alt="Justin meltzer" src="/system/photos/2/tiny/Justin Meltzer.jpeg?1306836552">
</a>`
How can I get this tooltip plugin to work?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
你能试试这个代码吗:
每次添加内容时调用插件似乎都是错误的:)
Can you try this code:
Seems so wrong calling plugin each time you add content :)
我在 main.js 中调用了这个函数,该函数适用于我的整个项目。这允许我向任何静态元素添加提示。
我对动态元素也有同样的问题,我找到的解决方案是将新元素附加到 html 后再次调用 initTipsy。我知道这不是一个很好的解决方案,但它肯定有效。
希望对某人有帮助。
I have this function that I call in my main.js that works for my whole project. This allows me to add tips to any static element.
I had the same problem with dynamic elements and the solution I found is to call initTipsy again after appending the new element to the html. I know this is not a pretty solution, but it works for sure.
Hope that helps somebody.
它应该工作得很好..
检查示例.. http://jsfiddle.net/gaby/3pAue/ 2/ (使用醉酒,和 1.5.1 jQuery)
错误一定在其他地方..确保你的 html 是有效的 (由 ajax 带来的,它是放置在您放置的地方有效..)
It should work just fine..
check the example .. http://jsfiddle.net/gaby/3pAue/2/ (uses tipsy,and 1.5.1 jQuery)
The error must lie somewhere else.. make sure your html is valid (the one brought by ajax, and it is valid to be placed where you place it..)
不知道为什么海豚的回答得到了赞成,甚至奖励了额外的声誉。他建议使用 jQuery Tipsy 的
live
选项,但这已经在原始海报(未经编辑)提供的代码中使用。显然这个选项似乎并没有起到作用。回答原来的帖子:tipsy 插件的
live
选项似乎并不适用于所有版本的 jQuery。版本 1.7.1 已被证实可以工作,因此升级 jQuery 可能是一个好主意。Not sure why Dolphin's answer got upvoted and even rewarded bonus reputation. He suggests using the
live
option of jQuery tipsy, but this is already used in the code presented by the original poster (unedited). Obviously the option did not seem to do the trick.To answer the original post: the
live
option of the tipsy plugin does not seem to work well with all versions of jQuery. Version 1.7.1 has been confirmed to work, so upgrading jQuery might be a good idea.我刚刚在 AJAX 请求呈现的 div 中的
script
标记中再次调用了该插件。那行得通。I just called the plugin again in a
script
tag in the div that the AJAX request rendered. That worked.