Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 04.12.2010, 11:09
Аспирант
Отправить личное сообщение для shureg Посмотреть профиль Найти все сообщения от shureg
 
Регистрация: 12.06.2010
Сообщений: 53

javascript Убрать выделение с текста
Добрый день, подскажите мне фукции для снятия выделения с текста:

например:

<textarea onMouseOver="this.select();" onMouseOut="Какая функция???">какойлибо текст</textarea>


тоесть как вдино из примера - если навести курсор на елемент textarea - то текст который там - выбедился, все отлично рбаотает, но как мне теперь с выделннного текста наоборот снять выделение? =))))) первое что пришлосло на ум unselet() =)))))) не не работает (((( прошу помощи!
Ответить с цитированием
  #2 (permalink)  
Старый 04.12.2010, 11:51
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

<script type="text/javascript">
window.onload = function(){
    var textarea = document.getElementsByTagName('textarea')[0];
    textarea.onmouseover = function(){
        this.select();
    };
    textarea.onmouseout = function(){
        this.value +=' ';
        this.value = this.value.slice(0, -1);
    };
};
</script>

<textarea>какой-либо текст</textarea>
Ответить с цитированием
  #3 (permalink)  
Старый 04.12.2010, 11:57
Аспирант
Отправить личное сообщение для shureg Посмотреть профиль Найти все сообщения от shureg
 
Регистрация: 12.06.2010
Сообщений: 53

Сообщение от monolithed Посмотреть сообщение
<script type="text/javascript">
window.onload = function(){
    var textarea = document.getElementsByTagName('textarea')[0];
    textarea.onmouseover = function(){
        this.select();
    };
    textarea.onmouseout = function(){
        this.value +=' ';
        this.value = this.value.slice(0, -1);
    };
};
</script>

<textarea>какой-либо текст</textarea>
спасибо! можно было бы просто :

<textarea onMouseOver="this.select();" onMouseOut="this.value +=' '; this.value = this.value.slice(0, -1);">какойлибо текст</textarea>

тоже все работает и намного меньше код =)
Ответить с цитированием
  #4 (permalink)  
Старый 04.12.2010, 12:06
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Сообщение от shureg
спасибо! можно было бы просто :
Я стараюсь всегда отделять логику от представления и вам советую.

PS:
Сообщение от shureg
onMouseOver / onMouseOut
Не будет работать с XML типом документа!
Ответить с цитированием
  #5 (permalink)  
Старый 06.12.2010, 10:51
Интересующийся
Отправить личное сообщение для klimashkin Посмотреть профиль Найти все сообщения от klimashkin
 
Регистрация: 05.10.2010
Сообщений: 16

Как вариант снимать выделение с текста таким кодом. (Вдвойне полезно если на тексте висит обработчик двойного клика).

function clearSelection() {
    if(document.selection && document.selection.empty) {
        document.selection.empty();
    } else if(window.getSelection) {
        var sel = window.getSelection();
        sel.removeAllRanges();
    }
}
Ответить с цитированием
  #6 (permalink)  
Старый 06.12.2010, 11:28
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

klimashkin этот способ хорош при использовании dnd, но в конкретном случае он снимет выделение во всем документе, не только в поле ввода
Ответить с цитированием
  #7 (permalink)  
Старый 06.12.2010, 11:59
Интересующийся
Отправить личное сообщение для klimashkin Посмотреть профиль Найти все сообщения от klimashkin
 
Регистрация: 05.10.2010
Сообщений: 16

Верно, но разве может быть в одном документе больше одного выделения?
Ответить с цитированием
  #8 (permalink)  
Старый 06.12.2010, 12:14
Особый гость
Посмотреть профиль Найти все сообщения от monolithed
 
Регистрация: 02.04.2010
Сообщений: 4,260

Думаю если задаться целью к.л. способом это сделать то возможно.
К примеру при работе с объектом Range можно так сделать, но там получится не совсем такое выделение, скорее заливка)).
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Выделение текста в текстовом поле. Как снять выделение с пробела вконце? Roman Koff Events/DOM/Window 10 01.07.2010 16:48
Как убрать выделение в Опере у div, получившего фокус ? spa_2002 Opera, Safari и др. 5 03.09.2009 10:42
Подскажите как убрать часть текста при нажатии на кномпу или гиперссылку. potkin Общие вопросы Javascript 6 10.10.2008 07:55