【发布时间】:2012-09-02 06:01:31
【问题描述】:
这是我的标记:
<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>
这是 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();
});
问题是当我点击“喜欢”按钮时,弹出框不会在第一次点击时出现,所以无论我是否喜欢该页面,我都会错过重要的回复。当我单击“喜欢”按钮时,会出现第二次弹出窗口,然后从那里开始保持其切换行为。有任何想法吗?
【问题讨论】:
-
页面加载时是否需要调用
popover?$('a.reviews#like').click(...).popover() -
您尝试解决方案了吗?您是否能够在第二次点击时隐藏弹出框?
-
是的。我尝试了答案。它仅适用于具有普通文本的弹出框,但不适用于其数据内容为从 ajax 响应生成的“html”的弹出框。
标签: javascript django twitter-bootstrap