Это мой код, в котором я пытаюсь размыть все тело, кроме одного textarea div-гайки, не удалось. Когда я нажимаю на textarea, все тело размывается даже при использовании не в моей функции скрипта

$(document).ready(function(){
  $(".form-control").focus(function(){
    $("body").not("div #hide").addClass("blur");
  }).blur(function(){
    $("body").removeClass("blur");
  });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="text_area_home" id="hide">
  <form action="uploadFile.php" method="post" enctype="multipart/form-data">
    <input type="hidden" name="xAction" value="uploadFile" />
    <textarea class="form-control" name="detail" placeholder="Upload File"></textarea>
    <div class="text_area_button">
      <input  type="file" name="uploadDoc"/>
      <input class="btn btn-primary btn-xs btn-rect" type="submit" value="Post" />
    </div>  
  </form>
</div>
1
Abhishek Burkule 6 Янв 2017 в 20:32
Я думаю, что div #hide следует заменить на div#hide.
 – 
31piy
6 Янв 2017 в 20:38
Нет, все равно это не работает
 – 
Abhishek Burkule
6 Янв 2017 в 20:41
Что вы имеете в виду под размытием всего тела, кроме одного текстового поля ? !! добавить класс blur ко всем элементам тела, кроме textarea?
 – 
Zakaria Acharki
6 Янв 2017 в 20:47
Да @ZakariaAcharki, я хочу размыть все тело, кроме формы div
 – 
Abhishek Burkule
6 Янв 2017 в 20:59
Мы не знаем, что означает blur в вашей голове, поэтому, пожалуйста, попытайтесь описать больше, и я не думаю, что вы говорите об эффекте функции blur() ..
 – 
Zakaria Acharki
6 Янв 2017 в 21:04

1 ответ

Лучший ответ

Взгляните на эту Fiddle. Наконец-то это удалось :)

Мне также пришлось удалить класс из всех родительских элементов класса div.

$(document).ready(function() {
  $(".form-control").focus(function() {
    $("div").addClass("blur");
    $('#hide').parents().removeClass("blur");
    $('#hide').removeClass("blur");
    $('.text_area_button').removeClass("blur");
  }).blur(function() {
    $("div").removeClass("blur");
  });
});

Хотелось бы узнать, есть ли у кого-нибудь однострочник для добавления и удаления классов.

1
Loaf 6 Янв 2017 в 22:12
По-прежнему все тело размывается
 – 
Abhishek Burkule
6 Янв 2017 в 20:45
Является ли div прямым потомком тела?
 – 
Loaf
6 Янв 2017 в 20:47
Div находится в середине тела, а код скрипта написан чуть ниже div
 – 
Abhishek Burkule
6 Янв 2017 в 20:50
Все становится размытым, даже если используется не для этого div, а предоставленное вами решение по-прежнему дает тот же результат
 – 
Abhishek Burkule
6 Янв 2017 в 20:55
Я пробовал использовать div, также он не работает, но когда я использовал .css вместо addClass и предоставлял свой фон, он работал для div, но не для тела
 – 
Abhishek Burkule
6 Янв 2017 в 20:58