Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
onclick和href=";之间有什么区别;javascript:函数名?_Javascript - Fatal编程技术网

onclick和href=";之间有什么区别;javascript:函数名?

onclick和href=";之间有什么区别;javascript:函数名?,javascript,Javascript,两者之间有什么区别吗 1 : <a href="javascript:MyFunction()">Link1</a> 1: 及 2: ?? 是否会以任何方式影响页面性能?没有性能差异 第一个是垃圾,因为对于没有启用JS的用户,它将完全失败 第二个仍然是垃圾,但是如果href指向未启用JS的用户的URL会更好。功能上有所不同,第一个不尝试处理链接。第二个是 然而,我同意Coronatus——这两种方法都不理想。我建议研究不引人注目的JavaScript(可能是使用),

两者之间有什么区别吗

1 : <a href="javascript:MyFunction()">Link1</a>
1:

2:
??
是否会以任何方式影响页面性能?

没有性能差异

第一个是垃圾,因为对于没有启用JS的用户,它将完全失败


第二个仍然是垃圾,但是如果
href
指向未启用JS的用户的URL会更好。

功能上有所不同,第一个不尝试处理链接。第二个是


然而,我同意Coronatus——这两种方法都不理想。我建议研究不引人注目的JavaScript(可能是使用),因为您可以向元素动态添加单击事件。

如果您的元素实际上不应该将用户链接到某个地方,请不要将其作为锚元素。如果您使用
标记只是为了更改下划线/光标,请不要这样做。在
(或其他元素)上使用CSS


保留HTML语义,仅当您希望将用户链接到某个位置时才使用锚元素。

onclick版本允许您将“this”作为参数传递,以便您可以返回到单击来自的标记/对象。协议方法不可能:

<a href="#" onclick="alert(this.innerHTML)">yo yo yo</a>

将弹出一个带有“溜溜球”的警告弹出窗口,而


将弹出“未定义”。

An href=“javascript:doSomething”表示如果用户未启用js,您没有可回退的url

因此,设置href=“something.html”和onclick=“return doSomething()”通常被认为更好,因为如果禁用js,您可以导航到新页面,但如果启用js,您可以返回false以防止导航到链接,并在同一页面中显示某些内容,而无需刷新页面


更好的是,不要添加onclick内联,只需在页面加载时添加js处理程序。这是一种不引人注目的方式

如果您的网站需要Javascript才能正常运行,则href中的Javascript最好,因为它在状态栏中显示链接并保持代码紧凑。在href中,还提供不带鼠标的键盘导航。如果您的网站需要在没有Javascript的情况下运行,那么您必须使用onclick,以便href中可以有一个链接。在单独的Javascript文件中添加操作无法使代码和数据紧密绑定

可能重复的
span.link {
  text-decoration: underline;
  color: blue;
  cursor: pointer;
}
<a href="#" onclick="alert(this.innerHTML)">yo yo yo</a>
<a href="javascript:alert(this.innerHTML)">yo yo yo</a>