![](/img/trans.png)
[英]JQuery trigger anchor's onclick event without sending browser to href
[英]In Firefox, get href of anchor in onclick trigger
使用以下html:
<div>
<a href='#link1' onclick='func()' >Link 1</a>
<a href='#link2' onclick='func()' >Link 2</a>
<a href='#link3' onclick='func()' >Link 3</a>
</div>
function func() {
var href = ??;
if( href.match(/#link1/) ) {
...
}
}
在Chrome(和IE?)中可以使用此代码
var href = window.event.target.href;
但是Firefox中不存在window.event
如果事件是通过addEventListener
附加的,则可以将e
作为参数,但是在用html声明时,看不到将事件传递给onclick
函数的方法。
this
传递给您的函数,然后直接访问href属性。 this
将涉及进行调用的元素。 您可能还想返回false-这样可以防止单击链接。
function func(elem) {
alert(elem.href);
return false;
}
<div>
<a href="#link1" onclick="func(this)" >Link 1</a>
<a href="#link2" onclick="func(this)" >Link 2</a>
<a href="#link3" onclick="func(this)" >Link 3</a>
</div>
您确实可以在onclick处理程序本身中将事件作为参数获取。 因此,您可以执行以下操作:
<a href="#link1" onclick="func(event)" >Link 1</a>
然后您可以在func
查看事件目标。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.