如果我想使用像“function name()”这样的外部javascript函数,请参阅下面的示例:
<from onSubmit="javascript: funtionname()" >
</form>
为什么我有时需要在函数名之前编写javascript:
答案 0 :(得分:3)
在处理程序(onclick
,onchange
等)中,您不必使用前缀。对于这些,Javascript已经被预期,并且前缀被解释为标签并且没有效果。
例如,如果您想在href
属性中执行Javascript,则需要前缀“javascript:” 。否则,该值将被解释为URL。
一般而言,应该避免这种做法,因为它与unobtrusive Javascript政策相矛盾。
答案 1 :(得分:2)
javascript:
表示法是一种URL方案,可以在任何需要URL的地方使用。据我所知,将URL传递给事件处理程序是不正确的(至少根据HTML5规范),尽管浏览器似乎支持它。您应该指定一个有效的函数或null作为事件处理程序。浏览器可能会将此javascript前缀解释为标签,但在技术上可能不允许这样做。
答案 2 :(得分:1)
你没有。
当您仅使用url类型标记(例如:javascript:
和href
)时,您需要编写src
,以指定字符串需要评估javascript代码。< / p>
示例:
<a href="javascript: doSomething();">
My link is a javascript function doSomething()
</a>
你可以:
<form onSubmit="doSomething();">
When submit the form, will ran doSomething,
if returns false will cancel the form submission
</form>
答案 3 :(得分:0)
无需在处理程序中执行此操作。它仅用作类似URL的方法中的协议,例如:
<a href="javascript:funtionname()">Click here</a>