Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Применение библиотек > Jquery Bbcode редактор


Автор: kamaikin 16.10.2009, 08:45
Написал плагин не большой Bbcode редактор...
Прошу понимающих людей посмотреть и подсказать, наверняка можно
улучшить. Может быть, стоит что-либо добавить, пишите, буду
улучшать.

http://www.kamaikinproject.ru/jquery/bbcode/description.html
http://www.kamaikinproject.ru/jquery/bbcode/demo.html
http://www.kamaikinproject.ru/downloads.html

Автор: icewind 16.10.2009, 09:09
На вскидку... Не плохо было бы запрашивать урл при вставке линка в диалоге. Не нужно будет отдельно курсор возвращать и вписывать

Автор: kamaikin 16.10.2009, 09:29
Цитата(icewind @ 16.10.2009,  09:09)
На вскидку... Не плохо было бы запрашивать урл при вставке линка в диалоге. Не нужно будет отдельно курсор возвращать и вписывать

как на этом сайте?

Автор: IDVsbruck 16.10.2009, 10:41
Да а что там улучшать? Код-то коротенький ...

Правда, а я не понимаю зачем, к примеру, такой изврат:
Код
var id = '#' + $(this).attr("id");
var e = $(id).get(0);

Шутка?
Код
var e = $(this).get(0);


Потом: в плагине определяется типа глобальная переменная е ("типа" - потому что не глобальная), а потом используется в обработчике клика. Думаю, работает, иначе бы что-то делал ... но так не правильно. Код может быть пользователем значительно расширен и тогда появится "более глобальная" переменная е и обработчик клика будет делать уже совсем другое. Таки вещи надо делать сразу и следить за ними:
Код
$('#bbcode_bb_bar a').bind("click", {e:e}, function(event) {/* вместо е теперь используем event.data.e */});


Логику с начальными if then else пересмотрел бы. Для начального уровня это нормально, но для серьезного плагина мелковато.

Не буду утверждать, но по-моему, в последней функции реализация с createRange не кроссбраузерная. Редко использую, но по-моему, чего-то не хватает.

Автор: kamaikin 16.10.2009, 10:48
Цитата(IDVsbruck @ 16.10.2009,  10:41)
Шутка?
Код
var e = $(this).get(0);


нет не шутка...
избавлялся от
Код

document.getElementById('user_text');

может быть не очень удачно....
от if - else я подумаю как избавится ))

Автор: brother79 28.10.2009, 09:26
Цитата(kamaikin @  16.10.2009,  10:48 Найти цитируемый пост)
Цитата(IDVsbruck @ 16.10.2009,  10:41)
Шутка?
Выделить всёкод Javascript
1:
    
var e = $(this).get(0);


нет не шутка...
избавлялся от



Зачем тебе вообще get(0) ? Ты же jQuery юзаешь, я что-то не представлю ситуацию, которую имело бы смысл делать через стандартный ДОМ.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)