Is there a way to have this prototype js trigger only when dom is changed and not loaded?
The 'change' method is defined only for 'input', 'textarea' and select elements, not for general elements.
The "dom:loaded" event is a user-defined event (as far as the browser is concerned) defined by the Prototype library. I don't believe that it is usable as any kind of template for a dom:changed event.
What you are looking for are DOM mutation events, such as DomSubtreeModified (see 1). But I don't believe these are widely supported in browsers yet.