Многократное выполнение функции
Добрый день!
Ситуация следующая: есть табличка <table border="1px"> <thead> <th>1</th> <th>2</th> </thead> <tbody> <tr> <td class='rem'>1.1</td> <td class='rem'>1.2</td> </tr> <tr> <td class='rem' onclick="GoRemove()">1</td> <td class='rem' onclick="GoRemove()">2</td> </tr> </tbody> </table> на ячейках второй строки таблицы, как вы видите, висит обработчик: function GoRemove() { alert('js start'); $('td.rem').click( function() { alert($(this).parent().find("td:eq(0)").html()); return false; }); alert('js end'); } При первом нажатии не происходит вызова внутренней процедуры, при втором - вложенная процедура вызывается дважды, при третьем - трижды и так далее. Почему так происходит? Как это можно обойти? |
Ну ты конечно молодец, навешиваешь клик на элемент кликом. И удивляешься.
При клике по td.rem происходит вызов функции GoRemove которая навешивает обработчик клика на все td.rem. И ничего визуально не происходит. При втором клике таки происходит удаление, и снова навешивается обработчик клика, то есть уже 2 обработчика, которые соответвенно исполняются 2 раза и так далее по нарастающей. Цитата:
|
Принял, спасибо огромное! эт я что-то тормознул))
Еще раз спасибо, пойду делать) |
Часовой пояс GMT +3, время: 16:52. |