首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jquery .find()在这种情况下不起作用

Jquery .find()在这种情况下不起作用
EN

Stack Overflow用户
提问于 2013-05-23 07:27:44
回答 3查看 74关注 0票数 0

我在一个页面上有多个下面的HTML元素

代码语言:javascript
复制
<a href='#' class='note-links'>
    <div class='notes'>
        <div class='course_title'><b>{$course_title}</b></div>
        <img src='images/download_file.jpg' class='file' />
        <div class='course_code'>{$course_code}</div>
        <div class='level'>{$course_level} Level</div>
        <div class='price' class='notice'>₦ {$price}</div>
        <div class='opt'><br />
            <a href='' class='edit' id='{$id}'>Edit</a>&nbsp;.
            <a href='' class='delete' id='{$id}'>Delete</a>
        </div>
    </div>
</a>

带有class optdiv处于隐藏状态。我希望悬停在锚标签上,使隐藏的div只对悬停的锚标签可见。我使用了下面的jQuery代码

代码语言:javascript
复制
$('#menu-display').on('hover', '.note-links', function() {
    $(this).find('.opt').css('visibility', 'visible');
});

当我将鼠标悬停在锚标签上时,什么也没有显示。但是,如果我删除.find(),隐藏的div会显示出来,但其他所有锚标记都不会悬停。

为什么会发生这种情况,我该如何修复它?

EN

Stack Overflow用户

发布于 2013-05-23 07:34:20

不能对on方法使用hover事件:

在jQuery 1.8中弃用悬停,在1.9中删除:用作字符串"mouseenter mouseleave"的缩写的名称“

”。它为这两个事件附加了一个事件处理程序,该处理程序必须检查event.type以确定事件是mouseenter还是mouseleave。不要将"hover“伪事件名与接受一个或两个函数的.hover()方法混淆。

代码语言:javascript
复制
$('#menu-display').on({
    mouseenter: function() {
        $(this).find('.opt').css('visibility', 'visible');
    },
    mouseleave: function() {
        $(this).find('.opt').css('visibility', 'hidden');
    }
}, '.note-links');
票数 3
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16703207

复制
相关文章

相似问题

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