Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于动态实时事件的Tipsy jquery插件不工作_Jquery_Plugins_Jquery Plugins_Tooltip_Tipsy - Fatal编程技术网

用于动态实时事件的Tipsy jquery插件不工作

用于动态实时事件的Tipsy jquery插件不工作,jquery,plugins,jquery-plugins,tooltip,tipsy,Jquery,Plugins,Jquery Plugins,Tooltip,Tipsy,我正在使用创建动态显示元素的工具提示 工具提示适用于非动态元素,因此我肯定包含了我需要的所有内容。我正在使用jQuery1.5.1 这是我的jquery代码:$('.voted user image').tipsy({gravity:'s',live:true}) 这是图像链接元素的html,单击链接触发AJAX请求后,图像链接元素会动态显示在div中: <a href="/profiles/2" class="voted-user-image" title="Test">

我正在使用创建动态显示元素的工具提示

工具提示适用于非动态元素,因此我肯定包含了我需要的所有内容。我正在使用jQuery1.5.1

这是我的jquery代码:
$('.voted user image').tipsy({gravity:'s',live:true})

这是图像链接元素的html,单击链接触发AJAX请求后,图像链接元素会动态显示在div中:

<a href="/profiles/2" class="voted-user-image" title="Test">
    <img alt="Justin meltzer" src="/system/photos/2/tiny/Justin Meltzer.jpeg?1306836552">
</a>`
`

如何让这个工具提示插件工作?

我刚刚在AJAX请求呈现的div中的
脚本中再次调用了该插件。成功了。

你能试试下面的代码吗:

$('a.voted-user-image').tipsy({live: true});

每次添加内容时调用插件似乎都是错误的:)

它应该可以正常工作

请检查示例。。(使用tipsy和1.5.1 jQuery)


错误一定在别的地方。。确保你的html是有效的(由ajax带来的,并且放在你放它的地方是有效的)

不知道为什么海豚的答案会被投票,甚至会获得额外的声誉。他建议使用jQuery tipsy的
live
选项,但这已经在原始海报(未编辑)呈现的代码中使用。显然,这一选择似乎没有奏效

回答原始帖子:tipsy插件的
live
选项似乎并不适用于所有版本的jQuery。版本1.7.1已经确认可以工作,所以升级jQuery可能是个好主意

function initTipsy(){
    $(function(){ $('.tips').tipsy({gravity: 's',html: true}); });
    $(function(){ $('.tips-right').tipsy({gravity: 'w',html: true}); });
    $(function(){ $('.tips-left').tipsy({gravity: 'e',html: true}); });
    $(function(){ $('.tips-bottom').tipsy({gravity: 'n',html: true}); });
}
我在main.js中调用了这个函数,它适用于我的整个项目。这允许我向任何静态元素添加提示。 我对动态元素也有同样的问题,我找到的解决方案是在将新元素添加到html之后再次调用initTipsy。我知道这不是一个很好的解决方案,但它确实有效。
希望这对某些人有所帮助。

不幸的是,从链接中删除
标题后没有javascript错误。插件依赖于
标题属性,这就是它将文本从中拉到工具提示中的位置。我对你对自己的问题给出的答案投了否决票,这对我来说很奇怪。;-)然而,这不是正确的答案,并且会在性能和代码可维护性方面产生负面影响。海豚说得对。live()本身被认为效率相对较低(例如,与.delegate()相比),但它只需一个绑定就可以正常完成任务。它是插件选项的一部分,不需要额外的麻烦。我在添加live时遇到了一个问题:true。在控制台中,它说“uncaughtypeerror:Object[Object Object]没有方法‘live’”。有没有其他方法来解决这个问题,在新添加的div上添加一个酒鬼?