0

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

<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 原生函数,但这没关系。发生了什么 ?

4

1 回答 1

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 中已被弃用。

于 2012-11-09T11:45:18.243 回答