2011-06-27 42 views
16

Tôi có hàng trong bảng có sự kiện ONCLICK (chuyển đổi dữ liệu bổ sung bên dưới). Bên trong một trong các ô hàng tôi có một nút (khi được nhấp vào đang thực hiện một hành động AJAX). Khi tôi nhấp vào nút - sự kiện onclick của Hàng cũng sẽ kích hoạt và điều xảy ra là dữ liệu bổ sung xuất hiện trước khi cuộc gọi AJAX hoàn tất (đó là hành vi xấu đối với tôi). Bất kỳ ý tưởng nào tôi có thể giải quyết điều này một cách thanh lịch? (không xác định và mã hóa nó vào mã onclick của hàng) Cảm ơnNgăn sự kiện onclick hàng trong bảng kích hoạt khi nhấp vào nút bên trong hàng

Trả lời

26

Thêm một event.stopPropagation(); vào nút của bạn click handler. Để biết thêm thông tin, hãy xem herehere.

+2

Chỉ cho tôi giải pháp chính xác. Cảm ơn!! – Guy

+0

liên kết trực tiếp cho người lười biếng! - Làm việc như một sự quyến rũ để vô hiệu hóa các bảng xử lý sự kiện hàng từ bắn, nhưng vẫn cho phép một liên kết trong dữ liệu bảng được nhấp vào !! - https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Examples#Example_5:_Event_Propagation –

0

Nếu bạn không thích các giải pháp javascript, trong nhiều trường hợp một giải pháp CSS có thể là tốt:

style="pointer-events: none;" 

Điều đó sẽ ngăn chặn các sự kiện onclick <tr>.

Tuy nhiên, trong một số trường hợp, tôi vẫn gặp sự cố không hoạt động. Trong phần lớn các trường hợp, tôi chỉ sử dụng kiểu ở trên.

Các vấn đề liên quan