ノードのinnerHTMLが書き換えられたらonchangeを発生させる

function onDOMchange(e)
{
try
{
if ( (typeof (e) == "object") && (e != null) )
{
if (typeof (e.DOMloging) == "undefined") {
e.DOMloging = e.innerHTML;
}
setTimeout(function ()
{
onDOMchange(e);
}, 10);
if (e.DOMloging != e.innerHTML) {
e.DOMloging = e.innerHTML;
e.onchange();
}
}
}
catch (e) { }
};
onDOMchange(document.getElementsByTagName("body")[0])みたいな感じで呼び出すと10ms間隔でinnerHTMLを監視して変更があったらonchangeを発行するよ

たとえばこんな感じで使う

$('id').onchange = function ()
{
alert("onchange!");
}
onDOMchange($('id'));
$('id')のinnerHTMLが変更されるとonchange!とダイアログが出てくる。