<分区>
以下有什么区别?
onClick="javascript: function('value');"
onClick="function('value');"
什么时候在函数调用之前使用 javascript:
,为什么?
我可以在不使用 javascript:
前缀的情况下调用该函数吗?
请帮助我理解其中的区别。
<分区>
以下有什么区别?
onClick="javascript: function('value');"
onClick="function('value');"
什么时候在函数调用之前使用 javascript:
,为什么?
我可以在不使用 javascript:
前缀的情况下调用该函数吗?
请帮助我理解其中的区别。
最佳答案
在元素的内联事件处理程序中,如 onclick
, onchange
, onsubmit
等,您不需要需要 javascript:
前缀 - 您经常看到它的原因是人们将它与 href
混淆了我在下面解释的语法。它不会导致错误 - 我相信它被解释为 label - 但这是不必要的。
不管你是想调用一个函数还是运行一个“简单”的 JS 语句,无论哪种方式都不要包含 javascript:
- 也就是说,所有这三个都是有效的:
onclick="doSomething('some val');"
onclick="return false;"
onclick="doSomething(); doSomethingElse(); return false;"
如果您使用内联事件属性,请不要使用 javascript:
前缀。
(我说“如果您正在使用内联事件属性”,因为这种做法确实过时了:最好在脚本 block 中使用 JS 分配事件处理程序。)
您只需要 javascript:
当你想从 <a>
运行 JavaScript 时添加前缀元素的 href
像这样的属性:
<a href="javascript: someFunc();">Whatever</a>
那是因为浏览器通常期望 href
包含一个 URI,所以 javascript:
前缀告诉它期待 JS 代码。但是,我不建议这样做,因为该页面不适用于禁用 JS 的人。最好包括 href
将用户定向到一个页面,告诉他们启用 JS,并包含 onclick
执行 JS 功能:
<a href="/enableJS.html" onclick="doSomething(); return false;">Whatever</a>
这样,无论用户是否启用了 JS,链接都会为用户提供一些有用的东西。 return false
在点击处理程序的末尾阻止点击的默认行为(导航到指定的 URL)。
关于javascript - onClick ="javascript: function(' 值')'"和onClick ="function(' 值');”有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823290/