Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.06.2010, 18: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();
                   });                                   
                });    
}
Ответить с цитированием
  #2 (permalink)  
Старый 09.06.2010, 16:55
жажду знаний
Отправить личное сообщение для bushstas Посмотреть профиль Найти все сообщения от bushstas
 
Регистрация: 17.07.2009
Сообщений: 202

а для чего тебе постоянно вызывать верхний код??
для предотвращения выделения текста на странице???
если так то я делаю вот это

я вешаю на определенные элементы где я не хочу чтобы происходило выделение обработчик
onmousemove="checkSelection()"


function checkSelection(){
   if (window.getSelection) { window.getSelection().removeAllRanges(); }
    else if (document.selection && document.selection.clear)
      document.selection.clear();
}

а содержимое текстовых полей и всего где нет этого обработчика можно будет выделять



или для чего???
просто немного непонятный вопрос

Последний раз редактировалось bushstas, 09.06.2010 в 17:00.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
javascript c сайта, как получить код sergeykrk Общие вопросы Javascript 1 05.12.2009 09:48
Нужно сделать плавное появление текстового поля как на сайте vkontakte.ru paratrooper1981 Элементы интерфейса 1 23.11.2009 17:24
Выплывающие списки и обновление текстового поля Gazprom Элементы интерфейса 5 02.08.2009 10:34
Расшифруйте код javascript sochinec Общие вопросы Javascript 7 01.08.2009 22:51
JavaScript. Форматирование текста текстового нода <Pool> Общие вопросы Javascript 4 14.01.2009 15:45