2017-05-11 19 views
0

thisに参照値の問題がありますが、このサイトでいくつかの類似の質問がありましたが、これを私の文脈で解決することはできません。 いずれかが、私はsplitInputthisを交換するときsplitInputがここに機能 ないだけでjsのTypeError:追加時にbが定義されていません

<script type="text/javascript"> 
    function styleBox(){ 
     var userInput= document.getElementById('invite-emails').value; 
     var splitInput=userInput.split(","); 

     for(var i=0; i< splitInput.length; i++) { 
      $(this).append("<span style='background-color:red'>"+splitInput[i]+((i< splitInput.length-1) ? ",":"")+"</span>"); 
     } 
    }; 

    $(function(){ 
     $(".team-btn").click(function(e) { 
      $('.team-intro').replaceWith($(".team-invite").show()); 
     }); 
    }); 
    $("#invite-emails").keypress(function(e){ 
     if(e.which == 32) { 
      styleBox(); 
     } 
    }); 
の私のコードスニペットであるとして、それはエラーを与えているとして、私は thissplitInputの値を参照しないか、私はこの問題を解決するのに役立つ可能性があり
+0

あなたの質問には何が関係していますか?コードを正しくインデントして[mcve]を投稿してください – j08691

+0

このコードを実行するとブラウザコンソールにエラーが表示されます –

+0

投稿したコードにはb変数がありません – j08691

答えて

1

あなたがなり、あなたはstyleBoxthis内部よりもstyleBox.apply(this)

$("#invite-emails").keypress(function(e){ 
    if(e.which == 32) { 
     styleBox.apply(this); 
    } 
}); 

を行う必要がありthis参照を設定せずにstyleBoxを呼び出します表示するには#invite-emails

+0

これはまだ期待どおりに動作していません。CSSプロパティをbackground-colorとして適用していません:赤ですが、今はエラーがなくなっています –

+0

@Prasad_Joshi – Justinas

関連する問題