簡體   English   中英

Javascript在點擊時獲得錨點href

[英]Javascript get anchor href on click

當我使用javascript點擊它時,如何獲得錨點的href? 我做了以下事情:

function myFunc() {
}
window.onclick = myFunc;

但是如何擴展函數只響應錨點上的點擊並獲得href?

function linkClick(e) {
  alert(e.target.href);
}
links = document.getElementsByTagName('a');
for (i = 0; i < links.length; i++)
  links[i].addEventListener('click', linkClick, false);

您的document.onclick在整個文檔中注冊處理程序。 但是你應該把它添加到每個鏈接。 您可以使用JavaScript執行此操作並使用Prototype或jQuery等框架使其更容易:

$$('a').invoke('observe', 'click', function(a){
    myFunc(a);
});

但是你也可以使用純JS將getElementsByTagName函數與循環結合起來(參見Delan的新答案)。

它不會像這樣工作,你需要為每個錨設置一個onclick處理程序。 最簡單的方法是使用jQuery框架,如jQueryPrototype或類似的東西。

擴展您的函數以接收調用對象:

var myFunc = function(target) {
  var href = target.href;
  // ... your function code that can now see the href of the calling anchor
}

jQuery的:

$('a').click(function(){
  myFunc(this);
});

原型:見Kau-Boy回答

function myFunc(link) {
  alert(link.href);
  return false; // return false if you don't want to actually navigate to that link
}


<a href onclick="return myFunc(link)">something</a>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM