首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >重新绑定hoverIntent jQuery插件

重新绑定hoverIntent jQuery插件
EN

Stack Overflow用户
提问于 2011-06-28 17:08:25
回答 1查看 819关注 0票数 2

我正在使用Drupal视图、ajax和hoverIntent插件的组合来显示内容。问题是,在ajax请求之后,'hoverIntent‘事件不再绑定到my (在本例中是视图的每一行)。有人有办法解决这个问题吗?

链接到插件未压缩的hoverIntent js。

hoverIntent主页

我下面的代码--

hoverIntent:如果光标在行的上方,这会展开一行,同时折叠所有其他行。

代码语言:javascript
复制
$('.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:

代码语言:javascript
复制
    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函数中。不过,我不确定这是否是最好的办法。但很管用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-29 20:39:34

解决方案:

我已经将'hoverIntent‘事件移到了它自己的函数中。然后,在文档准备就绪时,以及在ajax请求完成之后,我都会调用它。

代码语言:javascript
复制
    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();
    }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6510392

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档