如何理解javascript:void(0)
1) 首先在 HTML 中,a 标签及其 href 属性是用于创建链接的,一般情况下 href 属性用于指定链接的目标 URL。然而,在某些情况下使用 JavaScript 来处理链接点击事件可能更有用,这时就可以使用 href: JavaScript:void(0);。
2) 所以href,通常它指向要访问的页面的 URL。但是,如果你不希望页面重新加载或者跳转到指定的 URL,而是想运行一些 JavaScript 代码,那么可以通过设置 href 为 “javascript:void(0)” 来防止页面重定向到其他地方,目的是为了保留链接的样式,但是不让链接执行实际的操作。当用户单击链接时,网页会执行脚本中的 code,但因为代码并没有返回任何值,所以 JavaScript 调用完后仍停留在当前页面。
3) 补充 href=”javascript:void(0);”与href=”#“,href=“javascript:void(0);”不同,< a href=” “>点击</ a>点击链接后不会回到网页顶部,还停留在原始位置,而< a href=”#“>点击</ a>点击后会回到页面顶部,是因为”#"其实是包含了位置信息,默认的锚点# 代表网页的最顶端。
4) 举个例子,如果需要在单击按钮时触发某些 JavaScript 代码,则可以将 href 设置为 "javascript:void(0);‘’
<button>< a href=" " onclick="alert('Hello world!');">Click me</ a></button>
另外需要注意的是,如果 href 的值包含未编码的字符,这些字符可能会导致 JavaScript 的语法错误,比如";“、”/"等特殊字符。在这种情况下,可以使用 encodeURI() 对 href 进行编码来解决此问题。