HTML:Chỉ nhắm mục tiêu phụ huynh với event.target?
<div onclick="doSomething()" id="parent">
<div id="child"></div>
</div>
CSS:
#parent {
background-color: blue;
width: 100%;
height: 100px;
}
#child {
background-color: green;
width: 50%;
height: inherit;
}
.myClass {
background-color: red !important;
}
JS:
function doSomething() {
event.target.className = ('myClass');
}
Như bạn có thể thấy trong this JSFIDDLE, khi nhấn vào đứa trẻ, thay vì áp dụng các lớp để phụ huynh mà kích hoạt chức năng, nó áp dụng nó cho đứa trẻ. Tôi muốn biết làm thế nào để tránh điều này và áp dụng nó cho phụ huynh không có vấn đề mà tôi nhấp vào bên trong của nó. Tôi đang cố tránh sử dụng phương thức document.getElement(s)ByClass/Id
.
Bất kỳ trợ giúp nào?
T.B.Tôi suck tại titling những câu hỏi này –
Vâng, 'event.target' không tham chiếu đến phần tử mà trình xử lý đã được cài đặt trên, nhưng đến phần tử mà sự kiện được kích hoạt. Đó chỉ là cách nó hoạt động. Nếu bạn không muốn điều đó, đừng sử dụng 'event.target' (nhưng đúng hơn là' this' hoặc 'event.currentTarget' hoặc bất kỳ thứ gì) – Bergi