之间有什么区别吗?
<input type="submit" value="Register" onclick="javascript:submitTheForm();">
和
<input type="submit" value="Register" onclick="submitTheForm();">
我应该在JS函数调用之前使用javascript:
吗?
答案 0 :(得分:10)
javascript:
处理程序中的 onwhatever=""
是无操作。此属性的内容始终为JavaScript,因此javascript:
定义label - 但在switch
块或循环之外(您可以将其用于break
/ {{ 1}}到标签的位置)它什么都不做。
但是,不鼓励使用内联事件处理程序,有better ways来注册事件处理程序。
虽然问题中未提及,但值得注意的是,在continue
属性中使用javascript:
确实有效(并且在那里确实有必要),但由于各种原因而非常劝阻:
href
未指向元素因此,如果您真的必须使用内联事件,请始终使用this
等,而不要使用onclick=""
。
答案 1 :(得分:1)
当您处于onclick
属性时,不应使用javascript:
前缀。当您希望链接<a />
处理JS函数时,这很有用,例如:
<a href="javascript:myfunc();"></a>
答案 2 :(得分:1)
javascript:func()
正在使用javascript protocol,因此可以在锚点href
属性中使用它。但是,请勿执行此操作,请参阅Why is it bad practice to use links with the javascript: “protocol”?以获取更多信息。
事件处理程序最好是触发事件而不是属性。