单击菜单或母版页中的任何链接时,我必须获取目标URL。
我使用了以下代码
var target = $(document.activeElement)[0].href;
其中90%正确工作。因为我第一次点击菜单中的链接。它显示未定义。
那就是我在母版页中有很多菜单,每个菜单都包含很多导航。当我第一次从菜单中单击导航时,它将没有值。如果我点击同一个链接中的任何一个菜单之后显示正确的目标链接。
请帮我找一个目标网址。
答案 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);
}
});
});