Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/26: Рейтинг темы: голосов - 26, средняя оценка - 4.81
1 / 1 / 1
Регистрация: 03.06.2010
Сообщений: 31

Вставка смайликов

31.12.2011, 06:31. Показов 5190. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Ребята подскажите, нашел вот такой скрипт все работает кроме как в IE, подскажите как реализовать поддержку IE или альтернативный скрипт можно на Jquery.

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function smile(sm) {
  var object = document.getElementById('text1');
  object.focus();
if (window.attachEvent && navigator.userAgent.indexOf('Opera') === -1) {
 {                                        
          var s = object.sel;
          if(s){                                  
                  var l = s.text.length;
                  s.text = sm;
                  s.moveStart("character", -l);                                           
                  s.select();                
          }
  }   else {                                              
          var ss = object.scrollTop;
          sel1 = object.value.substr(0, object.selectionStart);
          sel2 = object.value.substr(object.selectionEnd);
          sel = object.value.substr(object.selectionStart, object.selectionEnd - object.selectionStart);                                              
          object.value = sel1 + sel + sm + sel2;
          object.selectionStart = sel1.length + sm.length;
          object.selectionEnd = object.selectionStart + sel.length;
          object.scrollTop = ss;                                             
  }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
31.12.2011, 06:31
Ответы с готовыми решениями:

Как сделать функцию подстановки смайликов?
Всем доброго времени суток! Подскажите, как сделать функцию подстановки смайликов? Есть блок, в котором выведены ссылки смайликов,хочу,...

Как применить функцию преобразования смайликов?
Добрый день есть текст со смайлами из vk нашел я в интернете функцию которая заменяет коды на смайлики. Только я смог представить текст из...

Как реализовать автозамену смайликов на картинки
на странице есть блок с обсуждением, в тексте которого могут содержаться кусочки обозначающие смайлики, например: "Этот тестовый ...

1
1 / 1 / 1
Регистрация: 03.06.2010
Сообщений: 31
02.01.2012, 21:58  [ТС]
Вот нашел ещё код, везде работает кроме IE, конкретно тестирую в IE9. Смайлик вставляется в начало строки а не под курсор. Неужели никто не может подсказать решение проблемы?
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<script type="text/javascript">
// Скрипт для вставки текста под курсор.
// Author: PHP-DIRECTOR <black@wmtime.ru>
// Протестировано в IE 6.0, FireFox 1.0.4, Opera 8.0, 8.01
 
// название текстового поля (<input type='text' id='mess' />)
// вставьте значение атрибута id текстового поля
name = 'mess';
 
// позиция курсора по умолчанию
cursor = 0;
 
// получаем текстовое поле в переменную
function obj() { str = document.getElementById(name); }
 
// отслеживаем позицию курсора
function position()
{
 if (!document.selection) { cursor = str.selectionStart; }
}
 
// вставляем текст под курсор
function InsertText(text)
{
 
    // если это браузер Opera, то не передаем фокус текстовому полю (иначе будут глюки)
    if(navigator.userAgent.indexOf('Opera')==-1) { str.focus(); }
 
    // действия для браузера MSIE, Opera
    if (document.selection) { document.selection.createRange().text = text + ' '; }
 
    // действия для браузера FireFox, Mozilla
    else
    {
        // разделяем исходную строку на две переменные
        // strFirst - строка ДО вставки текста
        // strEnd - строка ПОСЛЕ вставки текста
        var strFirst = str.value.substr(0, cursor);
        var strEnd   = str.value.substr(cursor, str.value.length);
 
        // обработка строк (удаление лишних пробелов)
        if(strFirst=='') { var raz1 = ''; var raz2 = ' '; var num = 1; }
        else
        {
        var raz1 = '';  var raz2 = ''; var num = 0;
        // проверяем есть ли на стыке границ строк пробелы, если нет, то сами их добавим
        if (!/^.*(\s{1,})$/.test(strFirst)) { raz1 = " "; num++; }
        if (!/^(\s{1,}).*$/.test(strEnd)) { raz2 = " "; num++; }
        }
        // формируем новую строку (с вставленным текстом ПО СЕРЕДИНЕ)
        // и полученную строку вставляем в текстовое поле
        str.value = strFirst + raz1 + text + raz2 + strEnd;
        // вычисляем новое значение положения курсора
        cursor = strFirst.length + text.length + num;
        // ставим курсор в текстовое поле сразу после вставленного текста
        str.selectionStart = str.selectionEnd = cursor;
    }
}
</script>
HTML5
1
2
3
<textarea type='text' id='mess' onclick='position()' onblur='position()' size='60' /><br />
 
<a href='javascript:void(0)' onclick='InsertText(":)")'>ie</a><br />
Добавлено через 23 часа 30 минут
Тема закрыта, была ошибка в настройках браузера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
02.01.2012, 21:58
Помогаю со студенческими работами здесь

Символы смайликов в RichTextBox
Всем доброго здоровичка!!! Как в RTB добавить символы смайликов и т.д.. которые можно добавить в ворде и блокноте. РТБ их не показывает....

Скрипт смайликов в widnows 10 :)
Всем привет! Может у кого есть скрипт на смайлики (для винды). Поделитесь люди добрые! А то вообще не могу понять как создать и как его...

Встраивание смайликов в программу
Разрабатываю чат и столкнулся с проблемой: Как встроить смайлы? Т.е. чтобы код смайла (допустим ::ulibka::) превращался в картинку....

Подсчет количества смайликов
К примеру в чате есть много смайликов и записываются они так или так . При нажатии на него он добавляется в текстовое поле. Задача в...

Программа для создания смайликов?
По советуйте программу для создания своих смайликов с расширением gif.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Программный отбор значения справочника
Maks 21.03.2026
Процедура ВодителиНачалоВыбора(Элемент, ДанныеВыбора, ВыборДобавлением, СтандартнаяОбработка) / / Отключаем стандартную обработку (стандартное открытие формы выбора без фильтров) . . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru