首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >悬停事件不工作

悬停事件不工作
EN

Stack Overflow用户
提问于 2011-11-11 03:46:50
回答 3查看 127关注 0票数 0

当鼠标悬停在div上时,我试图显示一个删除图标,但在这里鼠标悬停事件永远不起作用。我的代码这个函数显示带有数据的div

代码语言:javascript
复制
function load_pheeds()
    {
        var request_url = url+'pheeds/latest_pheeds';
        var timeline = $('#pheed-timeline');
        var loading = '<div class="progress-indicator">Loading Pheeds....</div>';
        timeline.append(loading);
        $.ajax({
            url:request_url,
            type:'GET',
            dataType:'json',
            error:function() { },
            success:function(data)
            {
                if(data.message == null)
                {
                    $('.progress-indicator').fadeOut('slow',function() {
                        $.each(data,function(index,pheed)
                        {
                            var del = '';
                            if(pheed.owner == "yes")
                            {
                                del = '<a href="#" class="deletePheed" style="display:none;">Delete Pheed</a>';
                            }
                            timeline.append(
                              '<div class="pheed-holder" data-id="'+pheed.pheed_id+'" data-delete="'+pheed.owner+'">'+
                              '<div class="user-profile-avatar"><img src="'+pheed.avatar_src+'" /></div>'+
                              '<div class="useridentity" data-userid="'+pheed.user_id+'">'+
                              '<a href="'+url+'users/info/'+pheed.username+'">'+pheed.username+'</a>'+
                              '</div>'+del+
                              '<div class="pheedContent">'+pheed.pheed+'</div>'+
                              '<div class="pheedMeta">'+
                              '<span class="timefield t:'+pheed.datetime+'000"></span>'+
                              '<span class="comment-count">'+pheed.comment_count+'</span>'+
                              '</div>'+
                              '</div>'
                            );
                        });
                    });
                }
            }
        });
    }

这是事件处理程序

代码语言:javascript
复制
  $('div.pheed-holder').hover(function() {
            $(this).children('.deletePheed').show();
            },function() {
                $(this).children('.deletePheed').hide();
            });

悬停事件永远不起作用

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-11-11 03:56:23

我认为您的悬停处理程序是在元素被附加之前设置的?如果div.pheed-holder在执行时不存在,则jQuery无法添加处理程序。

尝试在ajax响应之后执行.hover(..., ...);改用live()

票数 1
EN

Stack Overflow用户

发布于 2011-11-11 03:54:24

如果事件的DOM对象像这样是动态的,那么您需要使用live (或1.7中的on )而不是bind

代码语言:javascript
复制
$('div.pheed-holder').live("hover", function() {

您可能必须使用live分别绑定到mouseentermouseleave,而不是使用hover

票数 0
EN

Stack Overflow用户

发布于 2011-11-11 03:55:44

尝试绑定事件或使用:

代码语言:javascript
复制
$('div.pheed-holder').live('hover',function(){});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8085390

复制
相关文章

相似问题

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