2011-10-14 2 views
4

이것은 제가 수행하려고 시도한 것의 사례입니다. 내 wrapper 함수 myElements을 얻으려고하면 각 반복자의 밑줄에서 오는 요소를 반환합니다. _.each 함수 안에있는 els의 값을 추적 할 수 있지만 내 buttonClickListener에서 호출 할 때 해당 값을 반환하는 함수를 어떻게 얻을 수 있습니까?밑줄로 각 메서드가 값을 반환합니다.

buttonClickListenr: function(event){ 

    if ($(event.target).is(myElements())) return; 
    ..// otherwise move on in my event phase 

} 

myElements: function(){ 
    var filter=['a','b']; 
    _.each(filter, function(el){ 
     return el 
    }); 
} 

답변

0

당신이하려는 것은 실제로 의미가 없습니다.

if (_(filter).include($(event.target))){ return; }

1

each 함수는 요소 당 한 번 콜백을 호출하고 예상 값을 그룹화하지 않습니다. 대신 당신은 each 방법은

영업 이익은 그들은 단지 event.target가있는 경우보고 싶은 명확히 다음

getNums: function(){ 
    var filter=['20','2']; 
    var result = []; 
    _.each(filter, function(num){ 
    result.push(num); 
    }); 
    return result; 
} 

편집을 시도 끝난 후 계속 구조에 저장해야합니다 정렬. 이 경우 indexOf 메서드를 사용하기 만하면됩니다. 예 :

getNums: function() { 
    return ['20', '2']; 
}, 

buttonClickListener: function(event){ 
    if (this.getNums().indexOf(event.target) >= 0) { 
    // It's present 
    } 
} 
+0

오른쪽하지만이 숫자의이 배열을 반환 값 : '포함'연산자는 당신을 위해 아마 더 유용하다. if (bla.is (getNums()) ... 뭔가를 호출 할 수 있도록하고 싶습니다. 그래서 is 메서드를 사용하여 반환 된 값을 하나씩 검사하여 사용할 수 있기를 원합니다. – Chapsterj

+0

@Chapsterj 이 함수가 무엇을하기를 원하는지에 관해서는 정말로 명확하지 않다. 더 큰 예제를 제공해 줄 수 있겠 니? – JaredPar

+0

if (getNums.length> 0) {...'? –

관련 문제