Đây là đánh dấu của tôi:Twitter bootstrap: Popovers không hiển thị lên trên nhấp chuột đầu tiên nhưng hiển thị trên nhấp chuột thứ hai
<a href="#" class="reviews" id="like" rel="popover" data-content="" data-placement="right" data-original-title="Like episode">
<i class="icon-thumbs-up"></i>
Loved it
</a>(<span id="episode_likes">{{ episode_likes }}</span>
Và đây là javascript:
$('a.reviews#like').click(function(e){
var element = $(this);
$.ajax({
url: '/episoderatings/like/',
type: 'POST',
dataType: 'json',
data: {
csrfmiddlewaretoken: '{{ csrf_token }}',
episode_number: current,
story: current_story
},
success: function(response){
if(response=='You have liked this episode'){
$('span#episode_likes').text(parseInt($('span#episode_likes').text())+1);
}
$(element).attr('data-content',response);
$(element).popover();
}
});
e.preventDefault();
});
Vấn đề là khi tôi bấm vào nút 'like', popover không hiển thị trên lần nhấp đầu tiên vì vậy tôi bỏ lỡ phản hồi quan trọng cho dù tôi đã thích trang hay không. Khi tôi nhấp vào nút 'like' lần thứ hai popover xuất hiện và sau đó nó duy trì hành vi chuyển đổi của nó từ đó trở đi.Và ý tưởng?
Bạn có cần gọi 'popover' khi trang tải không? '$ ('a.reviews # like'). click (...). popover()' –
Bạn đã thử giải pháp chưa? Bạn có thể ẩn cửa sổ bật lên trên nhấp chuột thứ hai không? – markus
Có. Tôi đã thử câu trả lời. Nó chỉ hoạt động đối với các popovers có văn bản bình thường, nhưng không hoạt động đối với các popovers có nội dung dữ liệu của nó như là 'html' tạo ra mẫu trả lời ajax. –