Setup:
我编写了一个 jQuery 函数,用于在单击 table_1 中的行时更新 table_2 的表格单元格。这是我写的:
<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 中的单元格数据正在更改。但是,每次点击,该函数都会执行两次。我可以看到每次点击警报框都会出现两次。
有人能告诉我为什么会发生这种情况吗?以及如何避免这种情况?
只是简单地避免点击的传播
$("tr").live('click',function() {
...
$( event.toElement ).one('click', function(e){ e.stopImmediatePropagation(); } );
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)