Jquery专注于div以应用CSS样式

时间:2012-01-02 15:48:06

标签: javascript jquery css css3 focus

我有各种风格,例如:

.line{}

.line:focus{}

每个人都有自己独特的外观。

我想要做的是让jquery专注于具有.line类的div,从而将其样式更改为line:focus。但是,当使用$('.line').focus();时,样式不会改变,而且我有理由相信.line类没有关注div。

任何想法/建议?在此先感谢:)。

4 个答案:

答案 0 :(得分:1)

jQuery的focus可行,demo

<小时/> 编辑:

如果没有可聚焦元素,我会使用toggleClass demo2

答案 1 :(得分:0)

div元素不支持我所知道的焦点状态,所以你必须在其中一个输入被聚焦的时候手动更改div样式(当然,当输入模糊)。

$("div.line input").focus(function() {
    $(this).closest(".line").addClass("line-focus");
}).blur(function() {
    $(this).closest(".line").removeClass("line-focus");
});

当然要改变

.line:focus {  }

.line-focus {  }

答案 2 :(得分:0)

$(".").focus()仅适用于某些元素。 DIV不是一个受支持的元素。

您可以尝试使用.click

重新创建焦点
 $("div").click(function(){
   $(this).toggleClass('focused');
   if ($(this).hasClass('focused')){
      // do something
   }else{
      // do something else
   }
});

答案 3 :(得分:0)

$('input').focus(function() {
     $(this).css('background','green'); 
});

请参阅example