标签的href javascript函数,如何引用调用者标签

时间:2018-06-26 07:58:12

标签: javascript html accessibility

因此,我知道使用<a href="javascript: foo()">并不是最佳实践,请不要为此而b惜我。这是目前针对我所遇到问题的最佳解决方案。

我正在编辑一个网站,其中包含一堆非交互式元素,例如divspans,它们代表菜单,下拉菜单,按钮等。在所有光荣的地狱引发的问题中,可访问性走上了舞台。

所以要解决它:

<div class="btn" onclick="foo()"> EDIT </div>
<!--had to become-->
<a href="javascript: foo();"><div class="btn">EDIT</div>

现在,这显然会引发事件定向等问题,但现在让我们忘记这些吧,从这些按钮调用的大多数功能实际上只是AJAX对新页面的调用等。

以下是更大的问题:

<a>调用中,如何访问对foo()标记的任何引用? this设置为window,而eventundefined。我尝试将event传递到方括号中,如下所示:

<a href="javascript: foo(event)">

还是没用。那么,有没有办法访问对在函数本身内调用该函数的<a>标签的引用?

编辑以阐明为什么它不是重复项:

此问题与this中的onclick没有关系。它与获取参考信息有关,而不使用onclick,而是使用href="javascript: foo()",这与使用onclick不同。

1 个答案:

答案 0 :(得分:1)

只需将onclick属性保留在<a>标签上:

<a onclick="foo(this)"><div class="btn">EDIT</div></a>

通过href属性调用Javascript函数不会在其旁边传递click事件。

因此,不能通过event属性Javascript函数调用来访问href