0

再初期化しないと追加された要素に対して関数が機能しないため、要素が追加されたら関数を再初期化する必要があります。

function reinitialize()
{        
    //code sample
    alert('call me only once');
}

問題は、たとえば、4xと言うよりも多くの要素が追加されていることです

reinitialize() は 4x と呼ばれ、上記の例の結果が得られます

call me only once
call me only once
call me only once
call me only once

そのため、追加される要素に対してその機能のみを再初期化する必要があると考えています。

これに対処する方法は?

4

1 に答える 1

0

次のように、一度だけ実行される関数を作成できます (fiddle: http://jsfiddle.net/DeNTr/ ):

(function(){
  var hasRun = false;
   window.reinitialize = function(){
     if (hasRun) {
        return;
     }
     console.log("running...");
     //stuff
     hasRun = true;
  }

})();

reinitialize (); // prints running...
reinitialize (); //does nothing
于 2013-11-04T02:42:33.073 に答える