Setup:jQuery chức năng được gọi hai lần cho mỗi nhấp chuột
Tôi đã viết một hàm jQuery để cập nhật các tế bào bảng table_2, khi một hàng trong table_1 được nhấp. Dưới đây là những gì tôi đã viết:
<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>
Vấn đề:
Khi tôi bước qua chức năng này sử dụng Firebug, tôi có thể xem dữ liệu di động trong myTable_2 đã được thay đổi. NHƯNG, cho mỗi nhấp chuột, chức năng được thực hiện hai lần. Tôi có thể thấy hộp cảnh báo xuất hiện hai lần cho mỗi lần nhấp.
Ai đó có thể cho tôi biết tại sao điều này xảy ra? Và làm thế nào để tránh điều này?
Cảm ơn bạn đã trả lời. Vì vậy, bạn có nghĩa là bằng cách sử dụng 'on' hoặc 'delegate' sẽ giải quyết vấn đề của chức năng nhận được gọi là hai lần? – Bhushan
@Learner không có 'on()' được sử dụng để liên kết sự kiện từ jquery 1.7+ và sự kiện cháy hai lần sẽ giải quyết bằng cách sử dụng '# table_1', vì nó sẽ chỉ chọn' tr' thuộc bảng đầu tiên – thecodeparadox
nhờ thecodeparadox. – Bhushan