ну, если работает, то Слава Богу
Сообщение от 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.
я быстренько обежал код глазами, в алгоритм не вглядывался (кроме первого, про текстовое поле).