Показать сообщение отдельно
  #1 (permalink)  
Старый 31.01.2014, 17:01
Новичок на форуме
Отправить личное сообщение для CMTV Посмотреть профиль Найти все сообщения от CMTV
 
Регистрация: 31.01.2014
Сообщений: 3

Функция работает некорректно
Всем доброго времени суток!

Суть проблемы:

есть вызов функции без передачи параметров:

smilesObjectArray[i].onclick = insertSmile;

(smilesObjectArray это массив объектов).

Вот код функции insertSmile:

function insertSmile(smileId) {
	var smileInsertingCode = '[img]http://forum.mcmodding.ru/smilesSystem/images/' + smileId + '.png[/img]';
	var textArea = document.getElementById('theTextArea');
    var _caret = textArea.value.length + smileInsertingCode;
    textArea.value = textArea.value + smileInsertingCode;
    textArea.setSelectionRange(_caret, _caret);
    textArea.focus();
}


Без передачи параметров она стабильно работает.

Но как только вызов выглядит так:

smilesObjectArray[i].onclick = insertSmile(smilesIdArray[i]);

То при клике даже на кнопке, открывающей панель смайликов, в текстовое поле тут же записываются все имеющиеся смайлики. Хотя при вызове той же функции без параметров панель нормально раскрывается и код вписывается при клики на сами смайлики. А с параметрами уже при клике на кнопку панели сразу же все смайлы пишутся в текстовое поле. Что делать?


Последний раз редактировалось CMTV, 31.01.2014 в 17:06.
Ответить с цитированием