![](/img/trans.png)
[英]pass parameter to embedded href='javascript:function(“ + param + ”);
[英]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
和功能引用它。 但是,当您使用href
, href
当前位置设置为该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.