簡體   English   中英

使用href在javascript函數中傳遞此參數

[英]Pass this parameter in javascript function using href

我有代碼<a href="javascript:someFunction(this);" tabindex="0">Some text</a> <a href="javascript:someFunction(this);" tabindex="0">Some text</a>

是否可以將元素傳遞到someFunction(link) {...}並在以后使用。

在調試模式下,我看到該對象,但是所有屬性都是未定義的

當我使用像<a onClick="javascript:someFunction(this);類的onClick屬性時<a onClick="javascript:someFunction(this);它工作正常。

我知道這可能不是最好的解決方案,我已經看過其他問題了,但現在實際上不是我的問題。 我出於很多原因只需要這樣做。

非常感謝

好吧...我知道這里發生了什么。 問題在於,當您觸發onclick事件時,會涉及到一個元素。 因此,你可以通過this和功能引用它。 但是,當您使用hrefhref當前位置設置為該href任何內容。 就像您在地址欄中輸入內容並按Enter鍵一樣。 因此,如果您傳遞該函數this ,則實際上是在引用DOMWindow對象。 我看到的唯一解決方法是改為將節點的id作為純文本傳遞給函數。 然后使用getElementById抓取它。

我強烈建議您重新考慮您的操作方式。

如果您不介意使用jQuery(否則請忽略此答案),可以將事件附加到鏈接:

$('#id_of_your_link').on('click', function(event) {
  event.preventDefault();
  someFunction(this);
});

該代碼可用於鍵盤導航和鼠標單擊: http : //jsbin.com/ufapor 您可以在此處查看源代碼: http : //jsbin.com/ufapor/edit#javascript,html

暫無
暫無

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

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