jquery的focus为什么不能像css的伪类:focus一样失去焦点自动还原呢?

只有再写一个blur方法才能还原吗?

$('.search input').focus(function(){
        $(this).css({
            'backgroundColor': '#fff'
        }).closest('.search').css({
            'backgroundColor': '#fff'
        });

    });
阅读 4.1k
1 个回答

因为你用 JS 写的就是 focus 的回调啊,系统碰到 focus 当然就会触发回调了,你又没写“失去焦点”时的回调,页面当然乖乖的按照你写的跑啊……可是 CSS 不一样啊,不加伪类时是有默认样式的啊,所以当然一离开就自动还原了嘛……所以说在这种情景下,可能用 CSS 写会相对更加合适一点咯。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题