首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onclick="javascript:func()“与onclick="func()”

onclick="javascript:func()“与onclick="func()”
EN

Stack Overflow用户
提问于 2012-04-20 16:14:27
回答 3查看 3.8K关注 0票数 9

两者之间有什么区别吗?

代码语言:javascript
复制
<input type="submit" value="Register" onclick="javascript:submitTheForm();">

代码语言:javascript
复制
<input type="submit" value="Register" onclick="submitTheForm();">

在调用JS函数之前应该使用javascript:吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-04-20 16:16:35

onwhatever=""处理程序中的javascript:是无操作的。该属性的内容始终为JavaScript,因此javascript:定义了一个label -但是在switch块或循环之外(您可以使用它对标签的位置执行break/continue操作),它什么也不做。

但是,不鼓励使用内联事件处理程序,可以使用better ways来注册事件处理程序。

虽然问题中没有提到,但值得注意的是,在href属性中使用javascript:确实有效(并且在那里它实际上是必要的),但由于各种原因,非常不鼓励使用它:

  • this不指向element
  • Calling返回值的函数会导致浏览器离开site
  • Clicking禁用的链接breaks
  • Trying在新窗口中打开链接/制表符中断

因此,如果你真的必须使用内联事件,那么总是使用不带javascript:onclick=""等。

票数 10
EN

Stack Overflow用户

发布于 2012-04-20 16:16:54

当您在onclick属性中时,不应该使用javascript:前缀。当你想要一个链接<a />来处理JS函数时,这是非常有用的,例如:

代码语言:javascript
复制
<a href="javascript:myfunc();"></a>
票数 1
EN

Stack Overflow用户

发布于 2012-04-20 16:19:47

javascript:func()正在使用javascript protocol,以便可以在锚点href属性中使用它。但是,请不要这样做。有关更多信息,请参阅Why is it bad practice to use links with the javascript: “protocol”?

事件处理程序更适合触发事件,而不是属性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10242576

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档