10

很多时候我看到人们使用冒号 (:) 调用 javascript 函数。

onclick="javascript:functionname();"

相同的功能可以在没有的情况下javascript:使用,我很想知道什么时候使用javascript:,什么时候不使用。

任何建议表示赞赏。

4

3 回答 3

9

javascript:将代码放入锚属性时,前缀非常重要:href

<a href="javascript:func();">Anchor</a>

而在内联事件属性(如onclickonsubmitonmouseover等)中,javascript:前缀并不重要。

但是,您应该注意,这里给出的两种方法都不好实施,您应该使用其他方法(例如,如评论中所述的@Paul S.

于 2013-01-30T13:32:44.690 回答
3

这在事件中并不常见,onclick因为这些事件已经执行了 javascript。您可能会看到类似以下内容:

<a href="javascript: functionname(); return false;">Link</a>

此类代码的原因是,默认情况下,href属性正在尝试更改位置或重定向。这告诉浏览器默认href操作将是运行的 javascript。否则,该功能将无法运行,页面将刷新,这很烦人。

在锚标记中使用此类 javascript 时,页面刷新是一个常见问题,因为锚标记的默认操作是刷新或加载另一个页面。最后return false;的 表示不应触发默认操作(即刷新​​或加载)。

希望这可以帮助。

于 2013-01-30T13:36:14.640 回答
3

我相信javascript:当网络上出现许多其他脚本类型(例如 vbScript)时,会留下前缀,为了在 HTML 中区分它们,您需要提供这些前缀。

话虽如此,这些标签在除 IE 之外的任何浏览器中都没有任何作用,即使在 IE 中,您通常也可以省略它们。

另请注意,这整个问题没有实际意义,因为您应该通过 javascript 而不是 HTML 绑定事件处理程序。

于 2013-01-30T13:37:02.620 回答