2009-10-13 4 views
0

div 태그가 있고이 div 태그 안에있는 사용자 정의 격자에 검색 결과가 채워집니다.사용자가 div 태그 외부를 클릭 할 때 div 태그가 보이지 않는 경우

사용자가 검색 버튼을 클릭하면 위의 div 태그에 결과가 표시됩니다.

사용자가 div 태그 외부를 클릭 할 때 위의 div 태그를 닫아야한다는 요구 사항이 있습니다.

Google 검색 자동 comlete와 비슷합니다.

미리 감사드립니다.

+0

자바 스크립트/JQuery와의 솔루션을 찾고? – ukanth

+0

나는 자바 스크립트에서 솔루션이 필요합니다. – Madhu

답변

1

기본 아이디어

  1. 와이어 사업부를 숨길 body 태그에 온 클릭 이벤트입니다.
  2. div 태그에 onclick 이벤트를 연결하고 이벤트 버블 링을 중지합니다.

Event order

이 true로 이벤트의 cancelBubble 속성을 설정해야합니다은 Microsoft 모델에서

이벤트 버블 링을 중지하려면을 참조하십시오.

window.event.cancelBubble = true 

W3C 모델에서는 이벤트의 stopPropagation() 메서드를 호출해야합니다. 이 같은

jQuery를에
e.stopPropagation() 
+0

답장을 보내 주셔서 감사합니다. asp.net 마스터 페이지를 사용하고 있으며 많은 다른 콘텐츠 페이지에서 사용할 수 있으므로 본문 onclick 이벤트를 사용할 수 없습니다. 동시에 사용자 정의 컨트롤에 사용 된 div 태그에 대해 html로 생성 된 ID를 어떻게 찾을 수 있습니까? 미리 감사드립니다. – Madhu

+0

@Madhu : div 태그에 대해 HTML 생성 ID를 찾는 방법 : 정의 방법에 대한 소스 코드 예제와 함께 별도의 질문으로 게시하십시오. – awe

+0

늦게 답장을 드려 죄송합니다. 자바 스크립트에서 이벤트 버블 링을 중지하는 방법? – Madhu

1

, 뭔가 :

$('body').click(function(ev){ 
    if (!$(this).hasClass('your_result_container_classname') { 
    // code to hide result div 
    $('body').unbind('click'); // remove event handler. add again when results shown. 
    } 
}); 
+0

사용자가 div 요소의 요소를 클릭하면 어떻게됩니까? – rahul