Показать сообщение отдельно
  #2 (permalink)  
Старый 01.07.2012, 12:53
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

ну, если работает, то Слава Богу

Сообщение от Joyfit
$(this).replaceWith("<input type='text' value='" + chosenWord + "' style='width:"+ width + "px' />");
как-то это злостно, на каждое слово создавать новое поле. пусть поле будет одно, скрывайте, показывайте его в моменты редактирования, но незачем каждый раз новое создавать, ибо это оператива.

Сообщение от Joyfit
$(this).replaceWith("<span class='ew'>" + $(this).val() + "</span>");
зачем обрамлять текст span'ом в конце редактирования? (этого я просто не понял)

Сообщение от Joyfit
return !(".,!?;:)]}".indexOf(letter) + 1);
Вы слышали что-нибудь о регулярных выражениях?

ну и самое ужасное, Вы имеете на руках jQuery, а пишите код на нативном JS :
Сообщение от Joyfit
for (i = 0; i < wordsArray.length; i++) {
Сообщение от Joyfit
for (var i = 0; i < content.length + 1; i++) {
и т.д

ну и ещё маленький минусик (это не обязательно, но так делать - плохой тон)
finishEdit: function() {
        $("#result input").live("blur", function(){
            if (!(*!*$(this)*/!*.val().indexOf("<script>") + 1)) {
                *!*$(this)*/!*.replaceWith("<span class='ew'>" + *!*$(this)*/!*.val() + "</span>");
            } else {
                *!*$(this)*/!*.remove();
            }
        });
    }

эти вездесущие $(this) каждый раз исполняют вот этот кусок кода (вся функция по ссылке). оно Вам надо? кешируйте $(this) в переменной, скажем, $this.



я быстренько обежал код глазами, в алгоритм не вглядывался (кроме первого, про текстовое поле).

Последний раз редактировалось melky, 01.07.2012 в 12:56.
Ответить с цитированием