2017-05-11 8 views
0

이 사이트에서 비슷한 질문을 한 후 this을 참조하는 데 문제가 있음을 알고 있지만 내 상황에서는이를 해결할 수 없습니다. 중 하나가 나에게이 문제를 해결하는 데 도움이 수, 나는 그것이 splitInput으로 오류를주고있다 splitInputthis를 교체 할 때 같이 thissplitInput의 값을 참조 할이 기능 여기에없는 방법 만 JSTypeError : 추가시 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(); 
     } 
    }); 
의 내 코드입니다 내부 styleBox this이 될 것입니다 당신은 this 참조를 설정하지 않고 styleBox 전화
+0

제목이 귀하의 질문과 관련이 있습니까? 코드를 들여 쓰고 [mcve]를 게시하십시오 – j08691

+0

이 코드를 실행할 때 브라우저 콘솔에 오류가 나타납니다 –

+0

게시 한 코드에 'b' 변수가 없습니다 – j08691

답변

1

, 당신은보다 styleBox.apply(this)

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

을 할 필요가 게재 대상 : #invite-emails

+0

헤이 아직도 예상대로 작동하지 않습니다. background-color : red로 CSS 속성을 적용하지 않습니다. 오류가 이제 사라졌습니다. –

+0

@Prasad_Joshi 글쎄, 질문에 관한 것이 아닙니다 ... – Justinas

관련 문제