Jquery Сосредоточение на div для применения стиля CSS - PullRequest
1 голос
/ 02 января 2012

У меня есть различные стили, такие как:

.line{}

И

.line:focus{}

Каждый из них имеет свой уникальный внешний вид.

То, что я хочу сделать, это сфокусировать jquery на div с классом .line и таким образом изменить его стиль на line:focus. Однако при использовании $('.line').focus(); стиль не меняется, и я вполне уверен, что div с классом .line не ориентирован на

.

Есть идеи / предложения? Заранее спасибо:).

Ответы [ 4 ]

1 голос
/ 02 января 2012

jQuery's фокус будет работать, демо

Редактировать:

Без элемента с возможностью фокусировки я бы использовал toggleClass demo2

0 голосов
/ 02 января 2012
$('input').focus(function() {
     $(this).css('background','green'); 
});

См. пример

0 голосов
/ 02 января 2012

$(".").focus() работает только на определенных элементах. DIV не является поддерживаемым элементом для фокусировки.

Вы можете попытаться восстановить фокус, используя .click

 $("div").click(function(){
   $(this).toggleClass('focused');
   if ($(this).hasClass('focused')){
      // do something
   }else{
      // do something else
   }
});
0 голосов
/ 02 января 2012

div элементы не поддерживают состояние фокуса, о котором я знаю, поэтому вам придется вручную изменять стиль divs каждый раз, когда фокусируется один из его входов (и, конечно, менять его обратно, когда ввод размытый).

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

И, конечно, изменить

.line:focus {  }

до

.line-focus {  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...