admin管理员组

文章数量:1242804

I have to get the target URL when clicking on the menu or any link in the master page.

I have used the following code

var target = $(document.activeElement)[0].href;

Which works 90% correctly.Since when I click a link from a menu for the first time.It shows undefined.

That is I have Many Menus in the master page and each menu contains many navigations.When I click a navigation from a menu for the first time, it will not have the value.If I click any of the link from the same menu after that it shows correct target link.

Please help me to find a was to get the target URL.

I have to get the target URL when clicking on the menu or any link in the master page.

I have used the following code

var target = $(document.activeElement)[0].href;

Which works 90% correctly.Since when I click a link from a menu for the first time.It shows undefined.

That is I have Many Menus in the master page and each menu contains many navigations.When I click a navigation from a menu for the first time, it will not have the value.If I click any of the link from the same menu after that it shows correct target link.

Please help me to find a was to get the target URL.

Share Improve this question asked Dec 30, 2016 at 7:27 AkhilAkhil 1211 gold badge2 silver badges8 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 9

You can get the target url like this --

$('a').click(function(event) {
  $('div').html(event.target.href);
  event.preventDefault(); // Used to prevent the page from redirecting to google., just used for demo, you can remove it in your actual if not needed
});
<script src="https://ajax.googleapis./ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<a href="http://google.">Link 1</a>
<a href="http://facebook.">Link 2</a>
<a href="http://stackoverflow.">Link 3</a>
<div></div>

Just give the function a parameter, something like e, and use the e to get the target url(href)

You can try following solution to get target for any anchor in page:

$(document).ready(function(){
    $(document).on("click", "a", function () {
        var target=$(this).attr("href");
        if(target!=undefined){
            alert(target);
        }
    });
});

You're dealing with a race condition here. I have no idea where you're trying to access that variable, but chances are that document.activeElement is not going to reference the DOM Element you're willing to get it's href off.

The documentation says : Returns the currently focused element, that is, the element that will get keystroke events if the user types any. This attribute is read only.

So you need to handle this on an onClick event handler of that element that you want to read it's href:

onMyButtonClick(event){
 event.target.href;
}

本文标签: javascriptGet target URL of clicked eventclient sideStack Overflow