Я прочитал несколько тем по этому вопросу, но проблема все еще сохраняется. У меня есть шаблон 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)});
});
};
Обратите внимание, что я уже пытался использовать UNBIND метод и preventDefault. Функция onload не имеет никакого отношения к событию div. Событие click вызывается дважды и даже несколько раз. Любые идеи, почему это может произойти?
Вы перерегистрацию событие. – Jai
И как мне это исправить? –
Требуется ли эта строка? $ ('# status_icon_' + task_id) .unbind ('click'). Click (function (e) {e.preventDefault(); executement_status (task_id, new_status.id)}); – sarath