2010-05-17 3 views
0

jQuery 1.4.2에서 델리게이트와 함께 사용할 수있는 선택기의 복잡성에 대한 제한이 있습니까?jQuery 델리게이트가있는 컴플렉스 선택자

이 나를 위해 작동합니다

$('.activeTabsList').delegate('.activeTabsListItem', 'click', 
function() { 
    alert('here'); 
}); 

이 작동하지 않습니다 : 당신은 아마 추측 수 있듯이

$('.activeTabsList').delegate('.activeTabsListItem:not(.selected)', 'click', 
function() { 
    alert('here'); 
}); 

는, 선택한 클래스가 한 번에 1 항목이 있습니다. 다른 탭을 클릭하면 대리자 처리기가 여전히 실행되지 않습니다.

답변

3

작동하는 코드는 you can see a demo here입니다. 생각한 것처럼 선택기가 일치하는지 확인하십시오. 문제가 될 가능성이 큽니다 ... .delegate() 자체가이 사례를 처리합니다.

보통이이 같은 결과로 발생, 이상 - 할당하기 selected 클래스 :

$(".activeTabsListItem").click(function() { 
    $(".activeTabsListItem").addClass("selected"); //should have been $(this) 
}); 
+0

감사합니다 - 그냥 내가 정말 조사하기 전에 지원되지 않는 뭔가를 시도되지 않았다 확인하고를 더 깊게. 어떤 데모도 단순한 선택자 이상의 것을 다루지 않습니다. 나는 jsFiddle을 한번도 본 적이 없지만 꽤 달콤한 도구입니다. –

+0

+1에 대한 대답은 ... jsFiddle에 대한 링크를 위해 다른 것을 제공 할 수 있다면 ... 좋은 도구 일 것입니다! –

+0

내가 ui 탭과 함께 사용하기 때문에 내 문제가 끝났다. 그게 먼저 발생하므로 내 이벤트는 항상 선택됩니다. –