2013-03-25 3 views
3

jQuery에서 볼 수 있듯이, 외부 클릭으로 닫을 수있는 Boostrap Popover와 "x"를 클릭하여 닫을 수 있습니다.추가 옵션 닫기 옵션이있는 부트 스트랩 Popover

그러나이 popover가 양식 내에 배치되면 양식도 제출됩니다.

한 번 클릭하면 양식을 제출하지 않고도이 클로저 가능한 팝업의 기능을 사용할 수 있습니까?

HTML :

<form action="quote-calculator.php" method="post"> 
    <div class="bs-docs-example" style="padding-bottom: 24px;"> 
     <a href="#" class="more-info btn btn-large btn-danger" data-toggle="popover" data-content="And here's some amazing content. It's very engaging. right?">Click to toggle popover</a> 
    </div> 
</form> 

jQuery를 :

현재 preventDefault()를 추가 할 필요가
 var isVisible = false; 
     var clickedAway = false; 

     $('.btn-danger').popover({ 
       html: true, 
       trigger: 'manual' 
      }).click(function(e) { 
       $(this).popover('show'); 
      $('.popover-content').append('<button class="close" style="position: absolute; top: 0; right: 6px;">&times;</button>'); 
       clickedAway = false 
       isVisible = true 
       e.preventDefault() 
      }); 

     $(document).click(function(e) { 
      if(isVisible & clickedAway) 
      { 
      $('.btn-danger').popover('hide') 
      isVisible = clickedAway = false 
      } 
      else 
      { 
      clickedAway = true 
      } 
     }); 
+1

변경 앵커에 종료 버튼? http://jsfiddle.net/LRCNm/8/ –

+0

네, 그게 다야! –

+0

멋지군, 대답으로 추가하겠습니다. –

답변

3

변경하여 버튼 요소를 앵커 요소.

http://jsfiddle.net/LRCNm/8/

$('.popover-content').append('<a class="close" style="position: absolute; top: 0; right: 6px;">&times;</a>'); 
        clickedAway = false 
        isVisible = true 
        e.preventDefault() 
       }); 
+0

나는 간단한 대답을 좋아합니다. 고맙습니다! –

1

:

 $(document).click(function(e) { 
      if(isVisible & clickedAway) 
      { 
      $('.btn-danger').popover('hide') 
      isVisible = clickedAway = false 
      e.preventDefault() 
      } 
      else 
      { 
      clickedAway = true 
      } 
     }); 
+0

'

관련 문제