以下是构建链接的两种方法,其唯一目的是运行JavaScript代码.哪个更好,在功能,页面加载速度,验证目的等方面?
function myJsFunc() {
alert("myJsFunc");
}Run Code Online (Sandbox Code Playgroud)
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>Run Code Online (Sandbox Code Playgroud)
要么
function myJsFunc() {
alert("myJsFunc");
}Run Code Online (Sandbox Code Playgroud)
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>Run Code Online (Sandbox Code Playgroud)
我已经看到了将JavaScript代码放入<a>标记的以下方法:
function DoSomething() { ... return false; }
Run Code Online (Sandbox Code Playgroud)
<a href="javascript:;" onClick="return DoSomething();">link</a><a href="javascript:DoSomething();">link</a><a href="javascript:void(0);" onClick="return DoSomething();">link</a><a href="#" onClick="return DoSomething();">link</a>我理解尝试放置有效URL而不仅仅是JavaScript代码的想法,以防用户没有启用JavaScript.但是为了讨论的目的,我需要假设启用了JavaScript(没有它就无法登录).
我个人喜欢选项2,因为它可以让你看到将要运行的内容 - 在调试传递给函数的参数时尤其有用.我已经使用了很多,并没有发现浏览器问题.
我读过人们推荐4,因为它给了用户一个真实的链接,但实际上,#不是"真实的".它绝对不会在哪里.
当您知道用户启用了JavaScript时,是否有一个不支持或非常糟糕?