我正在使用Drupal视图、ajax和hoverIntent插件的组合来显示内容。问题是,在ajax请求之后,'hoverIntent‘事件不再绑定到my (在本例中是视图的每一行)。有人有办法解决这个问题吗?
链接到插件未压缩的hoverIntent js。
hoverIntent主页
我下面的代码--
hoverIntent:如果光标在行的上方,这会展开一行,同时折叠所有其他行。
$('.view-latest-new .views-field-field-story-lead-image-fid').addClass('expand');
var config = {
over: function() {
var expand = $(this).find(".expand");
if(expand.css("display") == "none")
{
$(".expand").slideUp("fast");
$(this).find(".expand").slideDown("fast");
}
},
out: function() {
}
};
$('.view-home .views-row').hoverIntent(config);编辑: Ajax:
var container = $('#content-inner');
$('#block-menu-secondary-links a').bind('click', function(){
var trigger = $(this);
var arg = trigger.attr('title');
doAjax(arg,container);
return false;
});
function doAjax(arg,container){
$.ajax({
url: 'views/ajax?view_name=home&view_display_id=page_1&view_args'+arg,
timeout:5000,
success: function(data){
var result = Drupal.parseJson(data);
updateContainer(result.display);
},
});
};
function updateContainer(content){
container.html(content);
$('.view-latest-new .views-field-field-story-lead-image-fid').addClass('expand');
$('.view-latest-new .views-row').hoverIntent(config);
}谢谢!
编辑2:我找到了一个解决方案;将$('.view-home .views-row').hoverIntent(config);添加到updateContainer函数中。不过,我不确定这是否是最好的办法。但很管用。
发布于 2011-06-29 20:39:34
解决方案:
我已经将'hoverIntent‘事件移到了它自己的函数中。然后,在文档准备就绪时,以及在ajax请求完成之后,我都会调用它。
function hoverInit() {
$('.view-latest-new .views-field-field-story-lead-image-fid').addClass('expand').parent().hoverIntent(config);
}
hoverInit();
function updateContainer(content){
container.html(content);
hoverInit();
}https://stackoverflow.com/questions/6510392
复制相似问题