2012-12-05 2 views
1

내가 그들을 내 스크립트를 통해 jsHint를 실행하고 최소화하기 위해 CodeKit를 사용하고, 나는 다음과 같은 오류 이해하고 싶습니다 :jsHint가 왜 '(var)가 정의되었지만 사용되지 않았 음'이라고 경고합니까?

// create a next button for each text input and wire it for nextQ()! 
    var next = $('<a class="button next">Next</a>') 
     .on('click', function() { 
      nextQ($(this)); 
     }) 
     .insertAfter($questions.find(':text')); 

jsHint이 경고는 :

next is defined but never used

요소 감안할 때 각 페이지가로드 될 때마다 insertedAfter()가 발생합니다. jsHint의 제한 사항입니까? 아니면 잘못된 것입니까? 내 jQuery는 매우 기본이며 오류를 통해 배우고 싶습니다!

+0

'다음'을 정의하고 있습니다. 어디에서 사용하고 있습니까? – kojiro

+0

왜 코드에 "var next ="가 있습니까? 여기에 필요하지 않아야합니다. –

답변

4

글쎄, 변수에 할당 할 필요가없는 콜백을 정의하고 있습니다. 당신은 간단하게 수행 할 수 있습니다

$('<a class="button next">Next</a>') 
    .on('click', function() { 
     nextQ($(this)); 
    }) 
.insertAfter($questions.find(':text')); 

그래서 다음에 어떤 목적을 제공하지 않습니다.

+0

우우 .. 페니 방울 : – ptim

1

.on()의 반환 값으로 .insertAfter()이 호출되므로, next은 불필요합니다. next에서 전화를 걸지 않는 한 다음과 같이하면됩니다.

$('<a class="button next">Next</a>') 
    .on('click', function() { 
     nextQ($(this)); 
    }) 
    .insertAfter($questions.find(':text')); 
+0

설명 주셔서 감사합니다. – ptim