Всем доброго времени суток!
Суть проблемы:
есть вызов функции без передачи параметров:
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]);
То при клике даже на кнопке, открывающей панель смайликов, в текстовое поле тут же записываются все имеющиеся смайлики. Хотя при вызове той же функции без параметров панель нормально раскрывается и код вписывается при клики на сами смайлики. А с параметрами уже при клике на кнопку панели сразу же все смайлы пишутся в текстовое поле. Что делать?