0

我试图让我的功能没有成功。我所需要的只是能够滚动到我的 div 并显示 X,然后我可以添加我想要的效果。

我正在使用 Javascript,因为我需要它跨浏览器兼容。我不想使用 CSS,因为它在我将来想要添加的内容中非常有限。

<script>
$(document).ready(function() {
$('div.userinfo').hover({
    mouseenter: function() {
        $(this).children('div.delete').show();
    },
    mouseleave: function() {
        $(this).children('div.delete').hide();

    }
    });
    });
</script>
    <?
echo "<div class='userinfo'><div class='delete' style='cursor:pointer;position:relative;top:0px;float:right;padding-right:5px;' onclick=\"delete_('".$streamitem_data['streamitem_id']."');\">X</div></div>"
4

2 回答 2

2

而不是 .hover(),它已被弃用并且不像你尝试使用它那样工作,使用 .on():

$(function() {
    $('div.userinfo').on({
        mouseenter: function() {
            $(this).children('div.delete').show();
        },
        mouseleave: function() {
            $(this).children('div.delete').hide();

        }
    });
});

这将完成这项工作。

于 2012-08-09T10:44:53.983 回答
2

使用bind()方法而不是悬停:

$(document).ready(function() {
   $('div.userinfo').bind({
     mouseenter: function() {
        $(this).children('div.delete').show();
     },
     mouseleave: function() {
        $(this).children('div.delete').hide();
     }
   });
});

注意:如果您稍后使用 jQuery 添加新的 dom 元素,请使用live()on(),如果不是,请使用 bind 方法,这是非常可靠的方法。

于 2012-08-09T10:47:21.917 回答