onClick ="javascript:function('value')'"和onClick ="function('value');"有什么区别?

Jal*_*tel 13 javascript function function-calls

以下有什么区别?

  1. onClick="javascript: function('value');"
  2. onClick="function('value');"

我何时使用javascript:函数调用之前,为什么?

我可以不使用javascript:前缀调用该函数吗?

请帮我理解其中的区别.

nnn*_*nnn 25

在一个元素的内联事件处理程序,像onclick,onchange,onsubmit等等,你不是需要的javascript:前缀-你经常看到这是因为人们与混淆的原因href,我在下面解释语法.它不会导致错误 - 我相信它被解释为标签 - 但它是不必要的.

无论你是想调用一个函数还是运行一个"简单"的JS语句都没关系,无论哪种方式都不包括javascript:- 也就是说,这三个都是有效的:

onclick="doSomething('some val');"
onclick="return false;"
onclick="doSomething(); doSomethingElse(); return false;"
Run Code Online (Sandbox Code Playgroud)

如果您使用内联事件属性,请不要使用javascript:前缀.

(我说" 如果你正在使用内联事件属性",因为这种做法确实已经过时了:最好在脚本块中使用JS分配事件处理程序.)

javascript:当您想要从<a>元素的href属性运行JavaScript时,您只需要前缀,如下所示:

<a href="javascript: someFunc();">Whatever</a>
Run Code Online (Sandbox Code Playgroud)

这是因为浏览器通常期望href包含URI,因此javascript:前缀告诉它需要JS代码.但是,我不建议这样做,因为该页面不适用于已禁用JS的人.最好包含一个href指向用户的页面,告诉他们启用JS,并包含一个onclick来执行JS功能:

<a href="/enableJS.html" onclick="doSomething(); return false;">Whatever</a>
Run Code Online (Sandbox Code Playgroud)

这样,无论是否启用了JS,链接都会对用户有用.将return false在点击处理程序结束阻止的点击(这将是导航到指定的URL)的默认行为.


Que*_*tin 7

第一个具有完全冗余的标签.

什么时候我应该在函数调用之前使用"javascript:",使用它的原因是什么?

决不.(好吧,差不多.你确实在javascript:方案URI中使用它,但是你应该只在编写书签时使用它们,它们不会出现在onclick属性中).

(javascript:URI是使用标签为属性值添加前缀的货物崇拜实践的onclick地方.)

我可以在不使用"javascript:"的情况下调用该函数吗?

是.