Ответ 1
Вы должны пройти через
if(event.target.tagName.toLowerCase() === 'a')
{
event.target.href; //this is the url where the anchor tag points to.
}
У меня есть большой div внутри, которые представляют собой меньшие divs, теги асора и другие элементы. Каждый большой div в моей программе привязан к событию "mousedown" и внутри обработчика onMouseDown, я в основном проверяю event.target.
Если пользователь нажимает на элементы, являющиеся гиперссылкой, я хочу проверить, была ли гиперссылка event.target, а затем перейти к этой ссылке, если event.target является гиперссылкой. Как это можно сделать?
Здесь структура divsa и элементов.
<div class="camp-name">
<span class="btnCampaign"><div class=""></div></span>
<span class="campaign-name">
<a href="#" onclick="location.href='http://www.google.com'; return false;">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);
}
};
Вы должны пройти через
if(event.target.tagName.toLowerCase() === 'a')
{
event.target.href; //this is the url where the anchor tag points to.
}
Я пробовал модифицировать ваш код, и с кодом было несколько проблем и исправлено.
Это часть JavaScript
var src = '<div class="camp-name"><span class="btnCampaign"><div class=""></div></span><span class="campaign-name"><a href="#" onclick="location.href='http://www.google.com'; return false;">Some Link here</a></span></div>';
var label = document.createElement('DIV')
label.innerHTML = src;
var topdiv = document.getElementById("test");
console.log(label)
topdiv.appendChild(label);
label.addEventListener('click', test, false);
function test(event) {
if(event.target.tagName.toLowerCase() === 'a') {
var href = event.target.href;
console.log(href);
}
window.location = href;
};
Это часть HTML
<div id="test">
test
</div>
Я сделал это в jsfiddle http://jsfiddle.net/KDejm/1/
Пожалуйста, дайте мне знать, правильно ли снято вентиляционное отверстие.