2012-12-07 1 views
0

내가 뭔가 잘못하고 있는지 확실하지 않지만, 많은 섹션과 하위 섹션이 있습니다. jQuery 웨이 포인트 - 동일한 페이지에서 웨이 포인트를 두 번 사용할 수 있습니까? (웨이 포인트의 다른 세트가 다른 것을 트리거하는 것처럼 보입니다.)

<section id="section-one" class="section-top"></section> 
    <section id="section-two" class="section-top"></section> 
    <section id="section-three" class="section-top"> 
    <article id="sub-section-one" class="section-sub"></article> 
    <article id="sub-section-two" class="section-sub"></article> 
    <article id="sub-section-three" class="section-sub"></article> 
    <article id="sub-section-four" class="section-sub"></article> 
    </section> 

는 그래서, 웨이 포인트 내가 section-sub 중간 점을 스크롤로, 여전히, 심지어 더 나쁜 section-top 트리거, section-sub

$(document).ready(function(){ 
    $('.section-top').waypoint(function(e,d){ 
    // Do something 
    }); 

    $('.section-sub').waypoint(function(e,d){ 
    // Do something else 
    }); 
}); 

그러나 section-top 대에 다른 작업을 수행하기 위해 호출이 설정 자체 웨이 포인트가있는 section-top을 트리거하는 것으로 보이므로 section-sub 트리거에 작동하지 않도록 알릴 방법이 없습니다.

this jsbin을 보면 처음 웨이 포인트 집합에서 trigger-count이 호출되었지만 웨이 포인트 하위 집합을 스크롤 할 때 계속 올라간다는 것을 알 수 있습니다.

이것이 기능하는 방식입니까, 내가 잘못하고 있습니까? (웨이 포인트를 두 번 등록하지 않겠습니까?)

답변

0

OK. Caleb는 jQuery 경유지 작성자의 도움으로 jQuery 사용자 정의 이벤트의 버블 링이 원인이라고 설명했습니다.

해결책은 두 번째 중간 지점 초기화에서 e.stopPropagation()을 넣는 것이 었습니다.

Github issue 114

관련 문제