2013-10-03 3 views
2

클릭 기능에서 열어야하는 페이지에 숨겨진 div가 있습니다.부트 스트랩 팝 오버에서 숨겨진 div 열기

클릭 할 수있는 링크가 부트 스트랩 팝 오버 안에 있으므로 팝업 콘텐츠 링크를 클릭하여 페이지 div를 열려면 어떻게해야합니까? 나는이 문서가 준비 후 당신이 그 일을하지 않는 것 같아요 때문에 여기

는 이벤트가 링크에 연결되지 않은 Fiddle

$("#open").click(function() { 
     $('.open-this').slideToggle("slow"); 
    }); 
+0

..... 정말로 혼란 스럽네요 ..... –

+0

아래의 업데이트 된 답변을 확인하십시오. –

답변

2

:

$("#open").click(function() { 
     $('.open-this').slideToggle("slow"); 
    }); 

시도

체크 아웃 업데이트 된 바이올린 http://jsfiddle.net/bfkLM/15/

코드의 문제는 링크가 코드에서 생성하고 이벤트 핸들러가 IT에 click 이벤트를 첨부려고 할 때 DOM에 표시되지 않는 것입니다 .

그래서 해결책은 위임 된 이벤트 : 공식에서; jquery 웹 사이트

위임 된 이벤트는 나중에 문서에 추가 된 하위 요소 인 의 이벤트를 처리 할 수 ​​있다는 이점이 있습니다. 위임 된 이벤트 처리기가 연결될 때 제공되는 요소를 선택하면 위임 된 이벤트를 에 자주 사용하여 이벤트 처리기를 자주 연결하거나 제거하지 않아도됩니다. 이 요소는 이벤트 핸들러가 문서의 모든 버블 링 이벤트를 모니터하려는 경우 모델보기 컨트롤러 디자인 (예 : 문서) 또는 문서의보기 컨테이너 요소 일 수 있습니다. 문서 요소는 다른 HTML을로드하기 전에 전에 문서 머리 부분에서 사용할 수 있으므로 문서 준비를 기다리지 않고도 이벤트를 첨부해도 안전합니다.그것은 클릭 이벤트 내에서 타겟 요소 (open)에서오고있다 body 태그와 검사에 대한 이벤트 처리기를 부착하기 때문에이 내 코드와를 불 것이다 일어날 때 나의 새로운 코드가 작동 이유

팝업이 표시됩니다

한 가지 더, e.preventDefault();의 사용은 페이지가 앵커의 href 속성으로 이동하지 못하게하는 것입니다.

+0

감사합니다. 같은 태그를 클릭하면 페이지로 스크롤해야하지만, 해당 ID로 스크롤하지 않습니다. 다른 생각은 없습니까? – Sowmya

+0

시나리오는 무엇입니까? 사용자가'open' 링크를 클릭하면 페이지가 아래로 스크롤되고 팝업이 표시된다는 것을 의미합니까? –

+0

안녕하세요. 고맙습니다. 이 질문에 도움을 줄 수 있습니까? http://stackoverflow.com/questions/19158064/dismiss-botstrap-popover-by-clicking-outside – Sowmya

0

입니다.

테스트의 목적을 위해 내가 링크

onclick="$(\'.open-this\').slideToggle("slow");return false;" 

에 온 클릭 기능을 추가 한 그것은했다.

Fiddle


솔루션 :

대신이 코드의
$(function(){ 
    $("#open").click(function() { 
     $('.open-this').slideToggle("slow"); 
     return false; 
    }); 
}); 
관련 문제