Khi ủy thác sự kiện sử dụng .on
làm thế nào để tôi nhắm mục tiêu yếu tố con:Làm cách nào để xử lý sự kiện được ủy quyền cho các thành phần con?
Tôi đã thử: childSelector =
>*
>:nth-child(n)
Nhưng không có gì được chọn khi tôi bắt đầu với >
.
$(selector).on(event, childSelector, handler);
Đôi khi tôi muốn nhắm mục tiêu một đứa trẻ trực tiếp, đôi khi tôi làm không được: (pseudo code)
var func = function(selector, subSelector) {
$(selector).on("click", subSelector, function() {
alert("my subSelector is clicked");
});
}
func("#wrapper", "direct-child-selector");
func("#wrapper", ".some .other > .selector:first");
Thats lý do tại sao tôi yêu cầu cho một selector và không phải là một sửa chữa.
Chỉnh sửa của bạn không có ý nghĩa gì. A * child * là phần tử là hậu duệ trực tiếp của phần tử ... ví dụ: 'child.parentNode === parent'. Một "* con gián tiếp *" chỉ đơn thuần là hậu duệ; ví dụ. 'descendant.parentNode.parentNode.parentNode (v.v.) === tổ tiên'. Bởi vì sự kiện bubbling hoạt động như thế nào, nếu người xử lý được ủy quyền nhận một sự kiện, bạn có thể * đảm bảo * mục tiêu của sự kiện là hậu duệ. – Matt
'@' Andreas: Xem câu trả lời cập nhật của tôi. – Matt