Я использую комбинацию Drupal Views, 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. Я не уверен, что это лучший способ сделать это. Но это работает.