首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在jquery中转换带有on的悬停函数

如何在jquery中转换带有on的悬停函数
EN

Stack Overflow用户
提问于 2012-10-22 11:44:54
回答 2查看 2.5K关注 0票数 1

我有这个代码

代码语言:javascript
运行
复制
$("td").hover(function(){
                $(this).find('a.btn').show();
                }, function(){
                $(this).find('a.btn').hide();
            })

如何使用on将此函数转换为新的dom元素

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-10-22 11:46:53

代码语言:javascript
运行
复制
$("#mytable").on('hover', 'td', function(){
    $(this).find('a.btn').show();
    }, function(){
    $(this).find('a.btn').hide();
});

但是不推荐使用'hover'伪事件来代替传递'mouseenter mouseleave',因此您应该直接使用mouseentermouseleave

代码语言:javascript
运行
复制
$("#mytable").on('mouseenter', 'td', function(){
    $(this).find('a.btn').show();
})
.on('mouseleave', 'td', function(){
    $(this).find('a.btn').hide();
});

或者像这样:

代码语言:javascript
运行
复制
$("#mytable").on({'mouseenter': function(){
    $(this).find('a.btn').show();
}, 'mouseleave': function(){
    $(this).find('a.btn').hide();
}}, 'td');

或者像这样的缩写:

代码语言:javascript
运行
复制
$("#mytable").on('mouseenter mouseleave', 'td', function(e){
    $(this).find('a.btn').toggle(e.type === 'mouseenter');
});
票数 9
EN

Stack Overflow用户

发布于 2012-10-22 11:48:17

我会这样做:

代码语言:javascript
运行
复制
$('td').on({
  mouseenter: function() { $(this).find('a.btn').show() }
  mouseleave: function() { $(this).find('a.btn').hide() }
})

编辑:你的问题并不清楚你是否需要委派,在这种情况下,请查看其他答案。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13004722

复制
相关文章

相似问题

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