tipTip在ajax请求之后使用tiptip和jquery on()在'second'悬停工作

时间:2011-12-05 13:39:11

标签: jquery ajax wordpress calendar tiptip

我使用wordpress + ajax日历后期插件(http://wordpress.org/extend/plugins/wordpress-plugin-ajax-calendar-with-future-posts/)+ tiptip插件http://code.drewwilson.com/entry/tiptip-jquery-plugin。我设法让他们一起工作,虽然tiptip仅适用于第二次悬停 - 我的意思是当你第一次在ajax请求tiptip没有显示之后悬停元素时。我在主页上将日历用作小部件。

这是我激活tiptip的方式。

jQuery(document).ready(function( $ ) {

    $("#wp-calendar").on("hover"," td a", function(){ $(this).tipTip(); });
...
});

如果我使用

,它对初始加载效果很好
$("#wp-calendar td a").tipTip();

,但在ajax请求后消失了。

问题是如何让tiptip显示它应该显示的方式:首先悬停',mouseenter,mouseover等。我已尝试过所有这些事件。 AKA:如何使第一段代码正常工作。

我试图找到答案,这让我现在进入了舞台。它超越了我现在的技能'通过这个。

1 个答案:

答案 0 :(得分:2)

我认为如果你进行AJAX调用并重新创建elemenets,你必须重新初始化插件。我想你应该接听这个电话

 $("#wp-calendar td a").tipTip();

在插入新元素后的ajax调用的成功处理程序中。如果你无法控制ajax调用,请尝试使用ajaxComplete()

$('body').ajaxComplete(function(e, xhr, settings){
     $("#wp-calendar td a").tipTip();
});

如果你这样做,我想你可以拿走这个电话:

$("#wp-calendar").on("hover"," td a", function(){ $(this).tipTip(); });

因为您已经重新应用了这个插件。