jQuery的AJAX项目无法重装后点击
问题描述:
我使用的Django的
I am using django
在身挡
<div id="tag_like">
{% if liked %}
<img id="unlike" title="unlike" src="{{ STATIC_URL }}pic/bad.png" />
{% else %}
<img id="like" title="like" src="{{ STATIC_URL }}pic/good.png" />
{% endif %}
</div>
在on_ready脚本块:
In the on_ready script block:
$.ajaxSetup({
data: {csrfmiddlewaretoken: '{{ csrf_token }}'},
});
$('#like').click(function() {
$.post("{% url 'likevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
$('#tag_like').load(' #tag_like')
});
});
$('#unlike').click(function() {
$.post("{% url 'unlikevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
$('#tag_like').load(' #tag_like')
});
});
在第1次点击图像它工作正常。(转向其他图像) 但是,当再次点击它,没有AJAX的动作发生。我读
It works fine at the 1st time you click the image.(turned to the other image) But when click it again, no ajax action happens. I read
Refresh使用jQuery和AJAX 在Django一个div
Refresh a div in Django using JQuery and AJAX
jqgrid使用触发器做一个AJAX调用后不能重装('重装')
Adding jQueryUI的按钮来动态添加内容
但是,没有具体的解决方案尚未达成... 以最小的改动任何解决方案?
But no specific solution reached yet... Any solution with minimal changes?
答
尝试一下本作的事件绑定:
try this for event binding:
$('#tag_like').on("click", "#like", function() {
$.post("{% url 'likevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
$('#tag_like').load(' #tag_like')
});
});
$('#tag_like').on("click", "#unlike", function() {
$.post("{% url 'unlikevideo' %}", {uid:{{ login_id }}, videoid:"{{ videoid }}"}, function(data,status){
$('#tag_like').load(' #tag_like')
});
});