2010-08-26 23 views
1

如果我有这样的功能:从IE中的链接调用JS函数?

function foo() 
{ 
    //... 
    return false; 
} 

我可以这样调用:

<a href="#" onClick="foo()">Run Foo</a> 

然而,在所有的浏览器,这使一个#中,我不想要的网址。

所以不是我这样做:

<a href="javascript:foo()">Run Foo</a> 

其中一期工程在铬罚款,但在IE加载包含字符串false的页面。

这里最好的做法是什么?

回答

3

你不需要javascript:协议。

<a href="#" onclick="foo(); return false">Run Foo</a> 

是你所需要的。

+0

我本身已经下降,投反对票原因。 +1 – 2010-08-26 19:13:16

+0

似乎有人只是简单地投了每个答案。 – 2010-08-26 19:14:16

1

像@wrumbsy说...

你并不需要的JavaScript:协议。

<a href="#" onclick="foo(); return false">Run Foo</a>

...但是这意味着你不需要锚<a>无论是。 只能将锚点用于超链接;不适用于JS增强的交互性

一个跨度将工作一样,用cursor:pointer; CSS属性:

<span style="cursor:pointer;" onclick="foo(); return false">Run Foo</span> 
+0

但是Google不会以不同的方式处理锚点,然后跨越? – 2010-08-26 19:27:23

+0

怎么样?我会说,是的,Google会这么做,但这正是你不想使用锚点的原因。 – 2010-08-26 19:36:28

+0

@John Isaacks - ...但它不太适合搜索引擎优化,并与可访问性更相关。 – 2010-08-26 19:42:04