Tôi có dòng của bảng theo mẫu sau kịch bản trong KnockoutJs:Làm cách nào để sử dụng event.preventDefault với trình xử lý sự kiện nhấp KnockoutJs?
<script id="inboxTemplate" type="text/html">
<tr data-bind="click: function() { viewInboxModel.selectAction($data); }">
<td>...</td>
<td>${ CreateDate }</td>
<td data-bind="click: function(e){ e.preventDefault();viewInboxModel.clearAction($data); }"><img src="/Content/images/delete.png" height="16px" width="16px"> </td>
</tr>
</script>
Vấn đề là khi tôi bấm nút delete, nó cũng đang chạy phương pháp selectAction(). Tôi đã thử sử dụng e.preventDefault() trong cả trình xử lý nhấp chuột selectAction và trình xử lý nhấp chuột clearAction() không có kết quả. Có anyway KnockoutJs có thể ngăn chặn các hàng tiềm ẩn từ bây giờ được nhấp vào nếu nút xóa được nhấp?
này hoạt động hoàn hảo – MilkyWayJoe
Trong jsFiddle của bạn, "hai" nhấp handler không dừng lại đúng sự kiện từ tuyên truyền đến "một" trình xử lý nhấp chuột trong phiên bản Chrome hiện tại của tôi. – mkmurray
@mkmurray fiddle này tham khảo KO mới nhất từ github, nhưng đã được tạo trước KO 2.0. Trong KO 2.0, đã có một thay đổi phá vỡ để truyền dữ liệu như trình xử lý sự kiện arg đầu tiên và sự kiện thứ hai. Fiddle được cập nhật ngay bây giờ để sử dụng chữ ký chính xác. –