textareaforumel.innerHTML +=
Так делать нельзя ни в коенм случае(и в обычном коде тоже). a+=b это на самом деле a=a+b, т.е. таким образом в переписываете весь предыдущий код заново, сбрасывая на ноль любые обработчики в нём присутствующие.
Но проблема не в этом.)
Код в юзер скриптах находится на отдельном "уровне" и
обычно(есть варианты) напрямую к ним из страницы обращаться нельзя.
Делать надо примерно так:
var replyarea = document.getElementsByClassName("forumtopic_reply_textarea");
var replyareael = replyarea[0];
function addtext(text) {
replyareael.value += text;
}
var textareaforum = document.getElementsByClassName("commentthread_entry_autosubscribe");
var textareaforumel = textareaforum[0];
var select = document.createElement('select');
select.onchange = function(){
addtext(this.options[this.selectedIndex].value);
};
var option = select.appendChild(document.createElement('option'));
option.value = '';
option = select.appendChild(document.createElement('option'));
option.value = '1';
option.innerHTML = 'Аккаунт';
option = select.appendChild(document.createElement('option'));
option.value = '2';
option.innerHTML = 'Ключ';
textareaforumel.appendChild(select);
Т.е сохраняя все связи внутри скрипта,а не преобразуя в текст и добавляя на страницу.