Trong html của tôi, tôi có một lớp kéoHandle được nhúng trong một li.Sự kiện JQuery.stopPropagation() không hoạt động
<div class='treeView'>
<ul class='tree'>
<li><span class="dragHandle"></span>Item 1
<ul>
<li><span class="dragHandle"></span>Item 2 <a href="#">link</a></li>
</ul>
</li>
</ul>
tôi đính kèm xử lý sự kiện sử dụng jQuery như sau:
$(".tree li").click(function(event) {
alert("click");
event.stopPropagation();
});
$(".dragHandle").mousedown(function(event) {
alert("down");
event.stopPropagation();
});
$(".dragHandle").mouseup(function(event) {
alert("Up");
event.stopPropagation();
});
Khi tôi MouseDown và chuột lên trên yếu tố tôi nhận được xuống và lập cảnh báo, tuy nhiên tôi cũng nhận được cảnh báo nhấp chuột của li của xử lý sự kiện quá. Tôi nghĩ rằng điều này nên được ngăn chặn bởi các cuộc gọi đến event.stopPropagation trong xử lý chuột và chuột. Làm cách nào để dừng sự kiện nhấp được gọi cho các sự kiện được tổ chức/trở lên trên dragHandle?
TIA, Adam
Chúc mừng cho điều đó, tôi đã xem xét một sự kiện nhấp chuột dưới dạng một con chuột lớn và di chuột lên. – apchester