Поиск простого jQuery-плагина BB-кода - PullRequest
0 голосов
/ 28 июня 2010

Я ищу плагин или функцию jQuery для вставки кода bb в выбранную текстовую область - больше ничего.Я нашел плагины типа http://markitup.jaysalvat.com/downloads/, но они добавляют слишком большие размеры для моего проекта.

Все, что мне нужно, - это следующая функция, реализованная в jQuery:

document.getElementById("bold_button").onclick = function() {
   format("[b]", "[/b]");
}


function format(aTag, eTag) {
 var input = document.getElementById('t_antwort'); 
 input.focus();

 if(typeof document.selection != 'undefined') {
  var range = document.selection.createRange();
  var insText = range.text;
  range.text = aTag + insText + eTag;
  /* Anpassen der Cursorposition */
  range = document.selection.createRange();
  if (insText.length == 0) {
    range.move('character', -eTag.length);
  } else {
    range.moveStart('character', aTag.length + insText.length + eTag.length);      
  }
  range.select();
   }
   /* für neuere auf Gecko basierende Browser */
   else if(typeof input.selectionStart != 'undefined')
   {
  /* Einfügen des Formatierungscodes */
  var start = input.selectionStart;
  var end = input.selectionEnd;
  var insText = input.value.substring(start, end);
  input.value = input.value.substr(0, start) + aTag + insText + eTag + input.value.substr(end);
  /* Anpassen der Cursorposition */
  var pos;
  if (insText.length == 0) {
    pos = start + aTag.length;
  } else {
    pos = start + aTag.length + insText.length + eTag.length;
  }
  input.selectionStart = pos;
  input.selectionEnd = pos;
   }
   /* für die übrigen Browser */
   else
   {
  input.innerHTML += aTag;
   }

}

плагин или такая функция?

1 Ответ

0 голосов
/ 28 июня 2010

Этот сценарий очень старый, но он все еще используется на многих веб-сайтах (хотя я не знаю, кому именно за него отдать должное). Вам нужна функция simpletag.

Примерно так должно работать:

<input type='button' value='B' onclick='simpletag("B");' name='B' /> 
...