Форум программистов, компьютерный форум, киберфорум
Наши страницы

JavaScript

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.87
alpha348
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 28
#1

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

31.12.2011, 06:31. Просмотров 2021. Ответов 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
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.12.2011, 06:31
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Вставка смайликов (JavaScript):

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

Вставка содержимого - JavaScript
Подскажите пожалуйста как в див с id="for_load" <a class="btn-map" id="but_load" data-toggle="modal" data-target="#myModal">Большая...

Вставка из select - JavaScript
Взял вот такой код и подредактировал под себя .. при клике всё работает и вставляет данные , а вот из селект не выводит не чего . ...

Вставка флеш - JavaScript
Народ просветите плиз! Как вставить флеш на страницу с помощью js. Код генерируемый Adobe Flash Professional не подходит! может в...

Вставка сообщения - JavaScript
Доброго времени суток. В своей разработке хотел использовать codemirror.Скачал(приложен к теме),вставил свой кусок кода,изменил id...

вставка текста - JavaScript
есть кнопка как вставить текст в текещее положение курсора в textarea т.е. должно получится вроде этого

1
alpha348
1 / 1 / 0
Регистрация: 03.06.2010
Сообщений: 28
02.01.2012, 21:58  [ТС] #2
Вот нашел ещё код, везде работает кроме 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
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.01.2012, 21:58
Привет! Вот еще темы с ответами:

вставка в строку - JavaScript
var a = 'http://test.ru?idmember=25#summoner567'; var b = '&amp;chat=56'; задача: получить строку...

Вставка значений в БД - JavaScript
Есть таблица со списком курсов и оценок. Напротив каждого курса есть кнопка Send result. По клику должна добавляться запись в бд с...

Вставка изображения - JavaScript
Здравствуйте. Задача в следующем: при вставке ссылки на картинку в комментарии необходимо отобразить саму картинку, т.е преобразовать...

Вставка BB кода - JavaScript
Всем привет. Делаю себе на сайте bb коды. Так как не силен в js нашел на просторах интернета код, который по нажатию на bb код вставляет...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru