Хороший способ сделать это - использовать функцию javascript, которая добавляет текстовые области для запуска события, которое любая другая функция может наблюдать и действовать. Итак:
function add_textarea() {
// Code creates a new <textarea> and adds it to the page
var textarea = new Element("textarea");
$("some-form").insert(textarea);
textarea.fire("textarea:add")
}
document.observe("textarea:add", function(event) {
event.target.observe('keydown', dosomethinghere);
});
Это позволяет вашим двум функциям - одна, которая добавляет новую текстовую область, и одна, которая прикрепляет наблюдателей, - слабо связаны и ничего не знают друг о друге. Один просто должен запустить пользовательское событие, которое может наблюдать другой.