有人可以帮我这个javascript:void(null)我发现它在链接按钮中使用如下
<a onclick="ProcessResponse()" href="javascript:void(null)" >Accept Data</a>
Run Code Online (Sandbox Code Playgroud)
And*_*y E 16
void是一个JavaScript运算符,但有时会被误认为是函数,因为它后面的括号常见使用.预期目的void是在不返回值的情况下计算表达式.因此,任何表达都可以被void编辑,它不一定是null,而且经常你看到void(0)或不经常,void 0.
javascript:在href属性中使用时,将评估以下表达式并返回其结果.通过在浏览器地址框中输入以下内容即可看出:
javascript:prompt("test");
Run Code Online (Sandbox Code Playgroud)
在显示的框中键入任何内容,然后按Enter /单击确定.您会注意到该页面将消失,您输入的内容将会显示.现在看看如果我们添加void 0;:
javascript:prompt("test"); void 0;
Run Code Online (Sandbox Code Playgroud)
在提示中单击"确定"后,没有任何反应.这void 0是轻松的工作,它返回undefined,所以浏览器什么都不做.这也适用href于链接(随意尝试).整个事情甚至可以写成javascript:void prompt("test");.
正如其他人所提到的,最好使用return false;事件处理程序而不是void在href中使用.实际上,建议不要javascript:在href属性中使用它.
基本上发生的是调用onclick该函数ProcessResponse()并将其href设置javascript:void(null)为禁用链接的默认行为.
大多数开发人员也习惯于写这个:
<a onclick="ProcessResponse(); return false;" href="#" >Accept Data</a>
Run Code Online (Sandbox Code Playgroud)
例:
假设我们已建立此链接:
<a onclick="ProcessResponse(); return false;" href="http://www.google.com" >Accept Data</a>
Run Code Online (Sandbox Code Playgroud)
请注意,href设置为www.google.com但是当您实际单击该链接时,它只会调用该ProcessResponse()函数而不会进入,www.google.com因为return falseput after ProcessResponse()会禁用链接的默认行为www.google.com.您发布的链接的情况也是如此.
| 归档时间: |
|
| 查看次数: |
19495 次 |
| 最近记录: |