使用以下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
函数。
答案 0 :(得分:4)
将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>
答案 1 :(得分:1)
您可以在onclick处理程序本身中将事件作为参数获取。所以你可以这样做:
<a href="#link1" onclick="func(event)" >Link 1</a>
然后您可以在func
中查看事件目标。