如果我有这样的功能:
function foo()
{
//...
return false;
}
我可以这样称呼它:
<a href="#" onClick="foo()">Run Foo</a>
但是,在所有浏览器中,这会将#
放入我不想要的网址中。
所以我这样做:
<a href="javascript:foo()">Run Foo</a>
在chrome中工作正常,但在IE中,它会加载包含字符串false
的页面。
这里最好的做法是什么?
答案 0 :(得分:3)
您不需要javascript:
协议。
<a href="#" onclick="foo(); return false">Run Foo</a>
就是你所需要的一切。
答案 1 :(得分:1)
就像@wrumbsy说......
您不需要javascript:protocol。
<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>