登录</a>
-
29 javascript: 是众多URI方案之一: en.wikipedia.org/wiki/URI模式 ,比如 数据: . – 西罗·桑蒂利OurBigBook.com 评论 2014年8月23日21:05 -
9 你可以使用 href=“javascript:” 为了同样的目的。 如回答中所述 这个问题 ,的 无效(0) 该部分最初用于早期版本的浏览器,其中 javascript: URI处理不同。 但现在我甚至找不到一个速记不起作用的版本,至少IE7能正确处理这个问题。 – 用户 评论 2015年4月5日3:24 -
1 我还看到了href=“javascript://”,这更好吗? – 光剑 评论 2016年12月30日13:43 -
href=“javascript://”对我来说不起作用void(0)工作得很好。 – 桑迪普 评论 2017年6月3日8:20 -
@sandip你当时用的是哪种浏览器? href=“javascript://” 和 href=“javascript:void(0)” 是等效的。 // 是JS注释。 – 塞巴斯蒂安·西蒙 评论 2021年5月29日1:25
14答案
这个
空隙 运算符计算给定的 表达式,然后返回
未定义 .
这个
空隙 运算符通常仅用于 以获得
未定义 原始的 值,通常使用“
无效(0) “(其中 等于“
无效0 ”). 在这些 cases,全局变量
未定义 可以改为使用(假设它有 未分配给非默认值 值)。
-
23 -
16 -
111 凤凰城正在谈论的一个例子是立即行动</ a> ●●●●。 如果dosomething返回false,那么单击链接只会导致浏览器退出页面并显示“false”。 然而< a href=“javascript:dosomething();void(0)”>立即行动</ a> 避免了这个问题。 继续粘贴javascript:1+1; 进入浏览器地址栏。 浏览器应显示“2” – 布雷顿 评论 2009年8月18日5:50 -
11 -
16 尝试在错误控制台中查找? 它明确抛出了一个语法错误。 它是无效的javascript。 道格拉斯·克罗克福德(Douglas crokford)建议不要使用void,因为一元运算符/函数/值的混淆成本太高,无法处理。 – 布雷顿 评论 2009年8月18日6:05
-
7 除了@bobince的精彩帖子外:几个月前,我还研究了 href公司 s、 包括怪癖和副作用; 你们中的一些人可能会发现它很有用: jakub-g.github.com/accessibility/onclick – 雅库布。 克 评论 2013年2月12日15:33 -
5 <a href=“#”> 比 <span> 出于可访问性的原因,所以我很高兴so已经改变了。 但我还是喜欢 <按钮类型=“button”> / <输入类型=“button”> +样式。 – 博宾塞 评论 2014年5月16日15:46 -
77 这是一种观点,不能回答问题。 无效(0) 在许多情况下都需要; “#”是一个黑客程序,它带来了一系列问题(它在我正在编写的应用程序中不起作用,它把我带到了这个页面)。 – 费莱西 评论 2015年3月24日3:46 -
17 我同意@feltwithe的观点。 为什么要强迫别人“以特定的方式做”? 在15年的编程生涯中,我还没有看到“应该总是这样做”这句座右铭如何不会让人们自己制造混乱 评论 2015年7月24日2:48 -
7
你好</a>
<a href=“backup_page_displaying_image.aspx” onclick=“return coolImageDisplayFunction();”>你好</a>
-
35 -
23 url协议实际上是一个标准,而不是一个真正的标准。 因此,href=“#”onclick=“return false;”符合标准,而href=“javascript:void(0)”则不符合标准,因为没有官方标准指定该做什么。 – 布雷顿 评论 2009年8月18日5:55 -
10 最重要的是,Douglas Crockford不喜欢void,所以jslint会抱怨它。基本上,由于void是一个运算符,而不是一个值,所以它非常令人困惑,并引发了许多问题,比如这个问题。 最好完全避免。 哈哈。 – 布雷顿 评论 2009年8月18日5:57 -
4 布兰登:见布伦顿的回应。 我推荐的方式是最受支持的,正如我在文章的第二部分所说,在一个“合适”的网站上,你甚至永远不会使用“#”,因为你将提供后备系统来处理缺乏javascript的问题。 – 正午丝绸 评论 2009年8月18日6:00 -
23 +1表示包含 真是太棒了 例子。 即使您在JavaScript中所做的工作没有静态HTML备份,您也可以执行以下操作 <a href=“enableJavaScriptToSeeMyCompletelyAwesomeSite.html”onclick=“completelyAwesome();return false;”> . – 格兰特·瓦格纳 评论 2009年8月18日18:29
打印</a>
-
7 -
17 -
1 -
三 我同意@Sid的观点——如果你使用它来触发javascript函数,那么 <a href=“javascript:callPrintFunction()”> 更干净(尽管它可能是 按钮 而不是 一 如果它真的不能带你去任何地方,那也不要担心)。 – 达文茂斯 评论 2019年5月9日12:25 -
1 href=“#” 可能会导致令人不快的意外情况,比如xhr请求被中止,在点击该链接时会被调用。 最近,我很难调试一个网站,如果用户碰巧所在的地址不是该网站的根地址,该网站将中止oidc登录请求。 # href导致它在xhr请求完成之前重新加载地址。 – JustA马丁 评论 2019年7月23日14:56
-
31 @Salvin:The 滚动到页面顶部 可以通过返回 假 发送到事件处理程序: onclick=“doSomething();return false;” ,或者如果 做某事() 收益 假 ,您可以使用 onclick=“return doSomething();” . – 格兰特·瓦格纳 评论 2009年8月18日18:25 -
55 -
1 -
4 -
@trysis或者,在内联html中,使用 事件 对于
. Thee(电子) 事件 变量在内联html中可用 onclick(单击) 处理程序。 <a href=“#”onclick=“event.proventDefault();”></ a> – STEN公司 评论 2020年6月27日5:41
if(某物===未定义){ 做某事(); }
if(某物===void 0){ 做某事(); }
锚标记经常与onclick事件一起被滥用以创建 通过将href设置为“#”或将“javascript:void(0)”设置为 阻止刷新页面。 这些值会导致意外 复制/拖动链接时的行为,在新链接中打开链接 选项卡/窗口、书签以及JavaScript仍在下载时, 错误输出或被禁用。 这也向传递了错误的语义 辅助技术(例如屏幕阅读器)。 在这些情况下 建议使用
<按钮> 而不是。 一般来说,您应该只使用 使用适当URL进行导航的锚点。
点击我</a>
我是一个无用的链接</a>
获取元素</a>
获取元素</a>
<a name=“middleOfPage”></a>
获取元素</a>
获取元素</a>
获取元素</a>
函数myVoid(expr){ 返回未定义; }
javascript:void window.open(“ 网址:http://example.com/ ")
-
三 -
三 -
1 -
-
1 @JuanmaMenendez: 表达 在函数中,总是在调用函数本身之前计算参数。 对不起,我手头没有明确的文件,但请自己试试: function(){警报(“foo”);} 是有效的 表达 . void(function(){alert(“foo”);}) 收益 未定义 而且确实如此 不 显示警报,而 myVoid(function(){alert(“foo”);}) 是(在您的版本中,不是 戈帕尔·雅达夫 ). – 乌多·G 评论 2019年1月7日8:08