2010-08-26 19 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