Многократное выполнение функции
Добрый день!
Ситуация следующая: есть табличка
<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, время: 11:46. |