Показать сообщение отдельно
  #26 (permalink)  
Старый 09.09.2012, 22:47
Аватар для cyber
I am Student
Отправить личное сообщение для cyber Посмотреть профиль Найти все сообщения от cyber
 
Регистрация: 17.12.2011
Сообщений: 4,415

как то так
UP подправил код
<!DOCTYPE HTML>
<html>
  <head>
  <style>
    #block {
      width:200px;
      height:200px;
      border:4px solid red;
    
    
    } 
    body {
    
      border:2px solid black;
    
    
    }
    
    </style>
  </head>
  <body tabindex='-1'>
    
    <div tabindex='-1' id='block'>
      wereasrwer
    <input type='text'>
      <div>
       <input type='text'> 
      </div>
    </div>
    
    <div id='inform'></div>
    <script>
      function _(selector) {//функия для удобства написания примера, копипастить не нужно:)
      
      return document.querySelectorAll(selector)[0];
      
      }
      
      !function (){
      
      var elem = _("#block"), focusForElem;
      
      if (elem.addEventListener){ 
      
      elem.addEventListener('focus' , onFocus,true);
      
      document.addEventListener('focus',onDocumentFocus,true); 
    
      } else {
      
      elem.onfocusin = onFocus;
      document.onfocusin = onDocumentFocus;
    
      }
      
      function onFocus(e) {
      
       _("#inform").innerHTML = 'focus on '+ this.id;
        
        
        focusForElem = true;
        event.cancelBubble = true;
      }
      
        function onDocumentFocus () {
        
          if (focusForElem) {
            focusForElem = false;
            onBlur();
          }
        }
      function onBlur() {
      
      
      _("#inform").innerHTML = 'focus on '+ this;
      
      }
      }();
    </script>

  </body>
</html>

Работает в ие 6+ без функции _() (должно ,не пробывал), в ие8+ точно работает

П.с более гуманного решение не придумал, но может оно и есть так как код писал после того как проснулся=)
__________________
Цитата:
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.

Последний раз редактировалось cyber, 09.09.2012 в 23:05.
Ответить с цитированием