Hatena::ブログ(Diary)

lifewindmillの日記 このページをアンテナに追加 RSSフィード

2009-08-14

ノードの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!とダイアログが出てくる。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/lifewindmill/20090814/1250261678
Connection: close