I have a large div inside there which are smaller divs, achor tags and other elements. Each large div in my program is bound to \"mousedown\" event and inside the onMouseDown ha
I tried modifying your code and there were multiple problems with the code and corrected them.
This is the JavaScript part
var src = '<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>';
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;
};
This is the HTML part of it
<div id="test">
test
</div>
I did this in a jsfiddle http://jsfiddle.net/KDejm/1/
Please let me know if the vent is captured correctly.
You could check the tagName
property, as said by @parthik-gosar.
Another way is to use the instanceof
operator to check the element class (hyperlinks are of type HTMLAnchorElement
):
if (event.target instanceof HTMLAnchorElement) {
console.log(event.target.href);
}
You should get it through
if(event.target.tagName.toLowerCase() === 'a')
{
event.target.href; //this is the url where the anchor tag points to.
}