Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.09.2011, 10:12
Аватар для saturn
Аспирант
Отправить личное сообщение для saturn Посмотреть профиль Найти все сообщения от saturn
 
Регистрация: 08.09.2011
Сообщений: 67

Как добавить теги <b></b> для текста ?
Доброго дня всем.
Подскажите как сделать чтобы выделенный текст при нажатии на кнопку обрамлялся тегами <b></b>.
(Jquery)
Ответить с цитированием
  #2 (permalink)  
Старый 08.09.2011, 11:12
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

Выделенный текст на странице или в textarea|input?
Ответить с цитированием
  #3 (permalink)  
Старый 08.09.2011, 11:20
Аватар для saturn
Аспирант
Отправить личное сообщение для saturn Посмотреть профиль Найти все сообщения от saturn
 
Регистрация: 08.09.2011
Сообщений: 67

Да, в textarea / input.
Вот когда я щас пишу сообщение и выделяю слово
то это слово выделяется тегами.
Хочу свой редактор страниц сделать.

Последний раз редактировалось saturn, 08.09.2011 в 11:23.
Ответить с цитированием
  #4 (permalink)  
Старый 08.09.2011, 11:39
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

function a (o) {
  if (document.selection) {
    var s = document.selection.createRange(); 
    if (s.text) {
      s.text = '<b>' + s.text + '</b>';
      s.select();
    }
  } else if (typeof o.selectionStart === 'number') {
    var
      b = '<b></b>'.length,
      value = o.value,
      start = o.selectionStart,
      end = o.selectionEnd,
      len = end - start;

    o.value = value.substring(0, start) + '<b>' + value.substring(start, end) + '</b>' + value.substring(end);
    o.setSelectionRange(start + len + b, start + len + b);
  }
}

Последний раз редактировалось da_ff, 08.09.2011 в 12:03.
Ответить с цитированием
  #5 (permalink)  
Старый 08.09.2011, 12:06
Аватар для saturn
Аспирант
Отправить личное сообщение для saturn Посмотреть профиль Найти все сообщения от saturn
 
Регистрация: 08.09.2011
Сообщений: 67

da_ff
Спасибо, буду прикручивать в форме.
Ответить с цитированием
  #6 (permalink)  
Старый 08.09.2011, 15:38
Аватар для saturn
Аспирант
Отправить личное сообщение для saturn Посмотреть профиль Найти все сообщения от saturn
 
Регистрация: 08.09.2011
Сообщений: 67

Не пойму как эту функцию запустить, делаю так но ничего не выходит
$('#bb').click(function() {
            
            function a (o) {
  if (document.selection) {
    var s = document.selection.createRange();
    if (s.text) {
      s.text = '<b>' + s.text + '</b>';
      s.select();
    }
  } else if (typeof o.selectionStart === 'number') {
    var
      b = '<b></b>'.length,
      value = o.value,
      start = o.selectionStart,
      end = o.selectionEnd,
      len = end - start;
 
    o.value = value.substring(0, start) + '<b>' + value.substring(start, end) + '</b>' + value.substring(end);
    o.setSelectionRange(start + len + b, start + len + b);
  }
}
Ответить с цитированием
  #7 (permalink)  
Старый 08.09.2011, 15:49
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

saturn,
Ее надо вызвать и передать в качестве параметра объект.
function a (o) {
  if (document.selection) {
    var s = document.selection.createRange();
    if (s.text) {
      s.text = '<b>' + s.text + '</b>';
      s.select();
    }
  } else if (typeof o.selectionStart === 'number') {
    var
      b = '<b></b>'.length,
      value = o.value,
      start = o.selectionStart,
      end = o.selectionEnd,
      len = end - start;
 
    o.value = value.substring(0, start) + '<b>' + value.substring(start, end) + '</b>' + value.substring(end);
    o.setSelectionRange(start + len + b, start + len + b);
  }
}
$('#bb').click(function() {
  a(сюдя_обект);
});
Ответить с цитированием
  #8 (permalink)  
Старый 08.09.2011, 16:09
Аватар для saturn
Аспирант
Отправить личное сообщение для saturn Посмотреть профиль Найти все сообщения от saturn
 
Регистрация: 08.09.2011
Сообщений: 67

da_ff
Я конечно извиняюсь, но я как новичок в javascript не могу понять как можно выделенный текст из textarea добавить в эту функцию.
Ответить с цитированием
  #9 (permalink)  
Старый 08.09.2011, 17:00
Профессор
Отправить личное сообщение для da_ff Посмотреть профиль Найти все сообщения от da_ff
 
Регистрация: 12.05.2009
Сообщений: 317

saturn,
Не надо извиняться, надо точнее формулировать. Передать надо не текст, а textarea.
a($('селектор_к_textarea')[0]);
Ответить с цитированием
  #10 (permalink)  
Старый 08.09.2011, 17:21
Аватар для saturn
Аспирант
Отправить личное сообщение для saturn Посмотреть профиль Найти все сообщения от saturn
 
Регистрация: 08.09.2011
Сообщений: 67

da_ff
Спасибо тебе, наконец то все заработало.
Я теперь уже для каждого нужного тега сделаю аналогичные функции.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как настроить вывод текста в отдельное окно! Zyets Элементы интерфейса 7 15.06.2011 00:29
Как обрезать строку и добавить символы в середине, в зависимости от длинны строки andreyua Firefox/Mozilla 12 10.12.2010 15:44
Как добавить метод ко всем элементам? zubr80 Events/DOM/Window 3 06.04.2009 05:46
смайлы для чата, замена текста brain Общие вопросы Javascript 9 28.11.2008 21:35
Как добавить свой блог в раздел feeds этого сайта IzumeRoot Ваши сайты и скрипты 13 30.10.2008 21:11