Показать сообщение отдельно
  #1 (permalink)  
Старый 07.06.2010, 19:28
Новичок на форуме
Отправить личное сообщение для vilk Посмотреть профиль Найти все сообщения от vilk
 
Регистрация: 26.02.2010
Сообщений: 5

javascript код убирает фокус с текстового поля
следующий код постоянно вызывается на странице для ИЕ -
if(document.selection && document.selection.empty) {
document.selection.empty ();
}

И для остальных браузеров
else if(window.getSelection () && window.getSelection ().removeAllRanges) {
window.getSelection ().removeAllRanges();
}

Из за этого кода убирается фокус с текстового поля.
скажите пожалуйста что нужно сделать чтобы этот код не влиял на текстовое поле с определенным id или на все текстовые поля???

Частично самому получилось сделать. Но мой способ начинает через пару кликов тормозить поэтому не подходит, а в ие совсем коряво работает. Мой способ ниже(на jquery) -

if(document.selection && document.selection.empty) {
     var elq = document.getElementById('inputdiagonal');
     var diagonalfocus_ = $j("#diagonalfocus").html();
     if(!diagonalfocus_) {
      document.selection.empty ();
     }
                 $j("#inputdiagonal").click(function(){
                     var elq = document.getElementById('inputdiagonal');
                     $j("#diagonalfocus").html('diagonal_focus');
                     setTimeout(function() {document.getElementById('inputdiagonal').focus();                     
                      $j("#inputdiagonal").blur(function(){
                      var elq = document.getElementById('inputdiagonal');
                      $j("#diagonalfocus").empty();
                    });                     
                   }, 100);
                    $j("#inputdiagonal").blur(function(){
                     var elq = document.getElementById('inputdiagonal');
                     $j("#diagonalfocus").empty();
                    });
                });
                $j("#inputdiagonal2").click(function(){
                     var elq = document.getElementById('inputdiagonal2');
                     $j("#diagonalfocus").html('diagonal_focus');
                     setTimeout(function() {document.getElementById('inputdiagonal2').focus(); 
                $j("#inputdiagonal2").blur(function(){
                     var elq = document.getElementById('inputdiagonal2');
                     $j("#diagonalfocus").empty();
                  })                     
                }, 100);
                   $j("#inputdiagonal2").blur(function(){
                     var elq = document.getElementById('inputdiagonal2');
                     $j("#diagonalfocus").empty();
                  });                     
                });
}
else if(window.getSelection () && window.getSelection ().removeAllRanges) {            
                     var diagonalfocus_ = $j("#diagonalfocus").html();
                    if(!diagonalfocus_) {
                     window.getSelection ().removeAllRanges();
                    }
                $j("#inputdiagonal").click(function(){
                     var elq = document.getElementById('inputdiagonal');
                     $j("#diagonalfocus").html('diagonal_focus');
                     document.getElementById('inputdiagonal').focus();
                   $j("#inputdiagonal").blur(function(){
                    $j("#diagonalfocus").empty();
                   });                                   
                });    
                $j("#inputdiagonal2").click(function(){
                     var elq = document.getElementById('inputdiagonal2');
                     $j("#diagonalfocus").html('diagonal_focus');
                     document.getElementById('inputdiagonal2').focus();
                   $j("#inputdiagonal2").blur(function(){
                    $j("#diagonalfocus").empty();
                   });                                   
                });    
}
Ответить с цитированием