获取点击事件的目标网址 - 客户端

时间:2016-12-30 07:27:11

标签: javascript c# jquery

单击菜单或母版页中的任何链接时,我必须获取目标URL。

我使用了以下代码

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

其中90%正确工作。因为我第一次点击菜单中的链接。它显示未定义。

那就是我在母版页中有很多菜单,每个菜单都包含很多导航。当我第一次从菜单中单击导航时,它将没有值。如果我点击同一个链接中的任何一个菜单之后显示正确的目标链接。

请帮我找一个目标网址。

3 个答案:

答案 0 :(得分:1)

你可以像这样获得目标网址 -

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

只需为函数提供一个参数,例如e,然后使用e获取目标网址(href)

答案 1 :(得分:0)

你在这里处理竞争状况。我不知道您在哪里尝试访问该变量,但document.activeElement可能无法引用您希望将其关闭的DOM元素。< / p>

文档说:返回当前关注的元素,即,如果用户键入任何键,则将获取击键事件的元素。此属性是只读的。

所以你需要在你想要读取它的那个元素的onClick事件处理程序上处理这个问题&#39; s href:

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

答案 2 :(得分:0)

您可以尝试以下解决方案来获取页面中任何锚点的目标:

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