2015-10-29 46 views
4

能否請您看看This Demo,讓我知道爲什麼彈出是不是首先點擊功能通過.close按鈕關閉它後之後?酥料餅沒有顯示在首先點擊關閉它

$("#pop-One").popover({ 
 
     placement: 'right', 
 
     html: 'true', 
 
     title : '<span class="text-info" style=""><strong>Model Type</strong></span>'+ 
 
       '<button type="button" class="btn btn-default close" onclick="$("#pop-One").popover("hide");">×</button>', 
 
     content : '<p class="popup" style="color:#323232;"> \Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry standard dummy text ever since the 1500s,</p>' 
 
    });
@import 'https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css'; 
 
@import 'https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css'; 
 
body{padding:20px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script> 
 
<div class="container"> 
 
<button type="button" class="btn btn-default" id="pop-One" data-toggle="popover"><i class="fa fa-question"></i></button> 
 
</div>

對於什麼都原因?關閉按鈕不在這裏工作!所以請檢查演示頁,查看完整的功能

我已經看到this Post但是這是一個不同的方法

+0

可能重複的[Twitter引導:彈出不會顯示在第一次點擊,但顯示在第二次點擊](http://stackoverflow.com/questions/12333585/twitter-bootstrappopovers-are-not-showing-up-on-first -click-but-show-up-on-seco) –

+0

嗨Shailendra Sharma,我猜你甚至沒有看問題,只根據標題進行判斷!這與這個問題完全不同! –

+0

ok讓我檢查 –

回答

2

不知道這是最好的解決辦法或沒有,但它的工作

$("#pop-One").popover({ 
     placement: 'right', 
     html: 'true', 
     title : '<span class="text-info" style=""><strong>Model Type</strong></span>'+ 
       '<button type="button" class="btn btn-default close"\ 
    onclick="$(&quot;#pop-One&quot;).popover(&quot;hide&quot;);">×</button>', 
     content : '<p class="popup" style="color:#323232;"> \Lorem Ipsum is simply dummy\ text of the printing and typesetting industry. Lorem Ipsum has been the industry standard\ dummy text ever since the 1500s,</p>' 
    }).on('shown.bs.popover', function() { 
    var popup = $(this); 
    $(this).parent().find("div.popover .close").click(function() { 
     popup.click(); 
    }); 
    }); 

here the result of my efforts

+0

觸發點擊可能是一種方式,早期的問題在於當觸發器被設置爲點擊時它被手動隱藏。那裏瘋狂。雖然現在你不需要popover('隱藏')。因爲這是做這項工作的點擊觸發器。 – AccidentallyC

+0

我知道這很棘手,不是最好的方法,但也不是最差的一個 –

+0

我解決了我的其他引導問題,使用您的解決方案。這真的很有幫助... –

0
<div id="timepickerDue" class="input-group date mytime activitydateblock" uib-popover-template="'myTooltipTemplate.html'" popover-trigger="'outsideClick'" popover-placement="bottom" popover-class="customClass" popover-is-open="isEnable"></div> 
<div uib-popover-template-popup="" uib-title="" content-exp="contentExp()" origin-scope="origScope" class="popover ng-scope ng-isolate-scope bottom customClass fade in" tooltip-animation-class="fade" uib-tooltip-classes="" ng-class="{ in: isOpen }" style="top: 125px; left: 363px;"><div class="arrow"></div> 

以上是Popover的HTML標記。

實際的問題,爲什麼它雙擊工作,而不是單擊是棘手的一個。背後的原因是bootstrap和angular需要元素點擊事件來註冊。

請使用下面的代碼來解決這個問題。如果您打算不是觸摸屏設備使用其他可以使用的$(document)。在( '點擊',功能(E),而不是$(文件)。在( 'touchstart',函數(E)

$(document).on('touchstart', function(e) { 
     if ($("div[uib-popover-template-popup='']").hasClass('popover ng-scope ng-isolate-scope bottom customClass fade in') && $(e.target).closest('div[class^="popover-content"]').length <= 0) 
     angular.element('#timepickerDue').triggerHandler('click') 
    });