我已经阅读了几个关于此的主题,但问题仍然存在。 我有Django模板:多次触发JQuery onclick事件
<tr>
{% if task.status.id == 3 %}
<td onclick = 'fulfillment_status({{task.id}}, 2)'>
<div style = 'color:green'</div>
</td>
{% else %}
<td onclick = 'fulfillment_status({{task.id}}, 3)'></td>
{% endif %}
</tr>
JS:
var fulfillment_status = function(task_id, status_id)
{
alert('sdf');
$.post('/task_list/set_task_status/' + task_id + '/' + status_id + '/', function (new_status){
if (new_status.id == 3)
{
$('#status_icon_' + task_id).children().css('color', 'green');
}
else
{
$('#status_icon_' + task_id).children().css('color', 'red');
}
$('#status_icon_' + task_id).unbind('click').click(function (e) { e.preventDefault(); fulfillment_status(task_id, new_status.id)});
});
};
请注意,我已经尝试过使用解除绑定方法的preventDefault。 onload函数与div click事件没有任何关系。点击事件被调用两次甚至多次。任何想法,为什么这可能发生?
您重新注册该事件。 – Jai
我该如何解决这个问题? –
是否需要此行?点击(函数(e){e.preventDefault(); fulfillment_status(task_id,new_status.id)});}($#'#status_icon_'+ task_id).unbind('click')。 – sarath