在锚标记的单击事件侦听器上为 href 添加 void(0) 和 'return false' 有什么影响?

And*_*ndy 5 html javascript jquery

跟随锚标签的累积效果是什么,如下所示:

/**
 * This function will create a popup iFrame (not a complete function)
 */
function CreateIframe() {
   // This is just a sample and not complete code
   var iframe = document.createElement('iframe');
   // Initialize and create iFrame and popup iFrame 

}
Run Code Online (Sandbox Code Playgroud)
<a href="javascript:void(0)" onclick="CreateIframe();return false;" >Click here!</a>

 
Run Code Online (Sandbox Code Playgroud)

RPi*_*oli 4

关于void(0)

\n

正如@rahul 在“javascript:void(0)”是什么意思?中所定义的那样。

\n
\n

void 运算符计算给定的表达式,然后返回 undefined。

\n

void 运算符通常仅用于获取未定义的原始值,通常使用 \xe2\x80\x9cvoid(0)\xe2\x80\x9d (相当于 \xe2\x80\x9cvoid 0\xe2\x80\x9d) 。在这些情况下,可以使用全局变量 undefined 来代替(假设它尚未分配给非默认值)。

\n
\n

“您\xe2\x80\x99d想要使用链接的href执行此操作的原因是,通常情况下,javascript: URL会将浏览器重定向到评估该JavaScript结果的纯文本版本。但是如果结果是未定义,则浏览器停留在同一页面上。void(0) 只是评估为未定义的最小脚本。”

\n

return false

\n

行为就像event.preventDefault否定它。

\n

如果您调用如下函数:

\n
<button type="submit" onclick="return some_function();"></button>\n
Run Code Online (Sandbox Code Playgroud)\n

并且如果您调用some_functionreturn false;,则不会发生提交。但是,return true当调用它时,a 将继续提交。

\n

就您而言,单击链接时不会被重定向。

\n