Tôi có một div lớn bên trong đó là div nhỏ hơn, thẻ achor và các yếu tố khác. Mỗi div lớn trong chương trình của tôi là ràng buộc để "mousedown" sự kiện và bên trong xử lý onMouseDown, tôi về cơ bản kiểm tra event.target.Kiểm tra xem mục tiêu sự kiện có phải là siêu liên kết
Nếu người dùng nhấp vào một mục là siêu liên kết, tôi muốn kiểm tra xem event.target có phải là siêu liên kết và sau đó điều hướng đến liên kết đó nếu event.target là siêu kết nối. Làm thế nào có thể được thực hiện?
Đây là cấu trúc của divsa và các phần tử.
<div class="camp-name">
<span class="btnCampaign"><div class=""></div></span>
<span class="campaign-name">
<a href="http://www.google.com">Some Link here</a>
</span>
</div>
<div class="campaign-name-sub">
<span class="campaign-accountname">Some Text here</span>
<span class="seprator">|</span>
<span class="brandname">Some Text here</span>
</div>
JS
var label = label.createElement("DIV");
label.innerHMTL = src //src is the above html that is seen here
Plugin.addEventListener(label, "mousedown", params.onMouseDown);
Plugin.onMouseDown() = function(event) {
var target = (event.currentTarget) ? event.currentTarget : event.srcElement;
if (target.tagName.toLowerCase() === "a" && target !== undefined) {
console.log(target.href);
Plugin.stopPropagation(event);
}
};
bạn có thể đưa ra một số mã .... như cách div của bạn được sắp xếp và nội dung – theshadowmonkey
@theshadowmonkey: Đã thêm. Khi tôi nhấp vào thẻ , tôi vẫn chỉ nhận được mục tiêu sự kiện dưới dạng DIV. Làm thế nào để giải quyết vấn đề này? – user1240679
Tôi nghĩ rằng sự kiện này đang được xử lý bởi DIV gốc. Hãy thử console.log (sự kiện) trong Chrome tốt hơn và bạn sẽ thấy tất cả các parametrs mà bạn có thể thao tác. Tôi nghĩ rằng nên giúp đỡ trong một số hướng – theshadowmonkey