установки:функция JQuery вызывается дважды за каждый клик
Я написал функцию JQuery для обновления таблицы ячеек table_2, когда строка table_1 нажата. Вот что я написал:
<script type="text/javascript">
$("tr").live('click',function() {
var host = $(this);
alert('A row in table 1 is clicked!');
var count = host.find("td").eq(2).text();
$("#myTable_2 tr:eq(0) td:eq(1)").text(count);
$("#myTable_2 tr:eq(1) td:eq(1)").text(5);
});
</script>
Проблема:
Когда я шаг через эту функцию с помощью FireBug, я могу видеть данные ячейки в myTable_2, изменяется. НО, для каждого щелчка функция выполняется дважды. Я вижу окно предупреждения, появляющееся дважды для каждого щелчка.
Может кто-нибудь сказать мне, почему это происходит? И как этого избежать?
Спасибо за ответ. Значит, вы имеете в виду, что использование «on» или «delegate» решит проблему вызова функции дважды? – Bhushan
@Learner no 'on()' используется для привязки события из jquery 1.7+, и дважды огонь события будет решаться с помощью '# table_1', потому что он выберет только' tr', который принадлежит первой таблице – thecodeparadox
, благодаря thecodeparadox. – Bhushan