IE8的jQuery.offset()问题

时间:2012-11-09 11:13:39

标签: javascript jquery

我在另一个列表中有一个列表,如下所示:

<ul>
    <li class="cat">
        <a href="#">Category 1</a>
        <ul>
            <li>SubCat in another ul</li>
            <li>Subcat2</li>
        </ul>
    </li>
    <li class="cat">etc...</li>
</ul>

我对此实现有错误:

$('ul li.cat').live('mouseenter', function() {
    console.log($(this).find('ul').offset().left);
});

在Chrome和FF中,我得到的东西就像760(这很好),但在IE中我得到0,我不知道为什么。我尝试过使用$ .position()和JS本机函数,但这并不重要。 发生了什么事?

1 个答案:

答案 0 :(得分:1)

你试过这种方式:

$('ul li.cat').live('mouseenter', function() {
    console.log($('ul',this).offset().left);
});

这样:

$('ul li.cat').on('mouseenter', function() {
    console.log($('ul',this).position().left);
});

我更喜欢使用.on处理程序,因为我听说.live在最新版本的jquery中已被弃用。