У меня проблема при назначении функций событию нажатия кнопки в IE 7 с помощью jQuery. Что-то вроде следующего отлично работает в Opera, но создает бесконечный цикл в IE:
function updateIndputFields(index, id) {
$("#reloadBtn").click(function(){ updateIndputFields(index, id) });
}
Насколько я понимаю, бесконечный цикл не был бы ожидаемым поведением в этой ситуации. Но я новичок в jQuery, так что, возможно, я что-то пропустил. В любом случае, что мне делать, чтобы для события щелчка кнопки reloadBtn было установлено значение updateIndputFields (index, id) в IE?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Попробуйте отвязать событие перед его привязкой.
Я думаю, что ключ к вашему ответу заключается в отмене привязки события, которое вы уже связали с событием щелчка. Я использовал это в IE, и, если я понимаю, что вы пытаетесь сделать, похоже, что он делает то, что вам нужно:
<script type = "text/javascript">
function updateIndputFields(index, id) {
$('#output').append('<p>' + index + ' : ' + id + '</p>');
$('#reloadBtn').unbind('click');
$("#reloadBtn").click(function(){ updateIndputFields(index, id) });
}
</script>
<p><a href = "#" id = "reloadBtn">reload</a></p>
<p><a href = "#" onclick = "updateIndputFields(1,2);return false;">start</a></p>
<div id = "output"></div>
Каждый щелчок должен выводить переданные параметры ровно один раз в выходной div.
Если вы не отмените привязку первоначально назначенного события щелчка, оно останется в наличии, и вы прикрепите дублирующий обработчик события щелчка к событию каждый раз, когда он щелкнет. Даже в Firefox невыполнение привязки события создает интересную рекурсивную ситуацию.
или просто используйте .один для привязки события
Это то, что я предположил со своим ответом: обратные вызовы накапливались.