Показать сообщение отдельно
  #61 (permalink)  
Старый 17.09.2012, 11:03
Аспирант
Отправить личное сообщение для zevilz Посмотреть профиль Найти все сообщения от zevilz
 
Регистрация: 24.05.2012
Сообщений: 93

Принцип понял, но не понял как сделать. Переделал свой скрипт:
$(document).ready(function() {

      // Сворачиваем панель
  $("#close").click(function(){
    $("div#panel").slideUp("slow");
    $("#toggle a").toggle();
  });

      // Сворачиваем панель при снятии фокуса с #toppanel
  $("#toppanel").blur(function(){
    $("*").not("#panel input").focus(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
    });
  });

      // Сворачиваем панель при снятии фокуса с input
  $("#toppanel input").blur(function(){
    $("*").not("#panel input").focus(function(){
      $("div#panel").slideUp("slow");
      $("#toggle a").toggle();
    });
  });

      // Разворачиваем панель
  $("#open").click(function(){
    $("div#panel").slideDown("slow");
    $("#toggle a").toggle();
  });

});

Сдесь добавил следующее:
1.При снятии фокуса с панели панель сворачивается. Но только если фокус получает не input на этой панели. На панели 4 инпута: для логина, пароля, чекбокс и submit.
2. При снятии фокуса с любого инпута панель сворачивается. Но если фокус получает не другой инпут на этой панели.

При снятии фокуса с панели она закрывается нормально, кнопка закрытия меняет свое содержимое. Но при повторном открытии при первом и втором клике выполняется только $("#toggle a").toggle();. И только при третьем клике панель открывается. То же самое происходит и при снятии фокуса с инпутов. И заметил еще косяк: если после фокуса на инпутах кликнуть на чекбокс, то панель закроется, а если наоборот, то панель не закроется.

Может кто вкурсе, почему происходит такая хрень и как исправить?
Ответить с цитированием