在锚点标记的click事件监听器上添加void(0)对href和'return false'有什么影响?

时间:2016-10-14 16:42:46

标签: javascript jquery html html5

以下锚定标记的累积效果如下:

/**
 * 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 

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

 

1 个答案:

答案 0 :(得分:4)

关于void(0)

由@rahul在What does "javascript:void(0)" mean?

中定义
  

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

     

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

&#34;您希望使用链接的href执行此操作的原因通常是,javascript:URL会将浏览器重定向到评估该JavaScript的结果的纯文本版本。但如果结果未定义,则浏览器将保持在同一页面上。 void(0)只是可能被评估为未定义的最小脚本。&#34;

return false

event.preventDefault这样的行为否定了它。

如果您调用的函数如下:

<button type="submit" onclick="return some_function();"></button>

some_function有一个return false;如果你打电话,提交就不会发生..但return true会在提交时继续提交。

在您的情况下,单击链接时不会重定向。