>  기사  >  웹 프론트엔드  >  javascript:void(0) 사용 소개

javascript:void(0) 사용 소개

高洛峰
高洛峰원래의
2017-01-24 14:06:341096검색

최근 3499910bf9dac5ae3c52d5ede7383485 태그와 javascript: void(0)에 대한 여러 게시물을 읽었으니 참고하시기 바랍니다.
참고: 다음 코드는 완전히 테스트되지 않았지만 각 메서드의 가능한 상황을 기본적으로 설명합니다.
페이지를 만들 때 링크를 클릭한 후 아무것도 하지 않거나 클릭에 대한 응답으로 다른 작업을 완료하려면 해당 속성을 href = "#"으로 설정하면 됩니다. , 페이지에 스크롤할 때 클릭하면 페이지 상단으로 돌아가므로 사용자 경험이 좋지 않습니다.

현재 여러 가지 해결 방법이 있습니다.

1) 링크 클릭 후 아무 작업도 하지 않음

<a href="javascript:void(0);" >test</a>
<a href="javascript:;" >test</a>
<a href="####" >test</a> //使用2个到4个#,见的大多是"####",也有使用"#all"等其他的

2) 링크 클릭 후 사용자 정의 클릭 이벤트에 응답

<a href="javascript:void(0)" onclick="doSomething()">test</a>
<a href="#" onclick="doSomething();return false;">什么问题都解决了,包括浏览器不兼容问题</a> //或者直接使用href=""
<a href="#" onclick="alert();event.returnValue=false;">test</a>

설명:

1.javascript: void(0) 의사 프로토콜, 웹 표준 책을 읽어본 적이 있다면 적게 작성하는 것이 좋습니다. 왜. (이해가 안가네요. 원문만 발췌하고 있어서 당분간 녹음하겠습니다)
2. 링크(href)에 자바스크립트를 직접 사용: void(0) 에서 문제가 발생할 수 있습니다. IE에서는 gif 애니메이션 재생이 중단되는 등의 현상이 발생하므로 가장 안전한 방법은 "####"을 사용하는 것입니다. 링크를 클릭한 후 페이지 상단으로 이동하는 것을 방지하기 위해 onclick 이벤트가 false를 반환할 수 있습니다.
3. 마우스를 위로 움직여 손 모양으로 바꾸려면

44203dc318092372fcf0a610c30cbe4a Click Me!54bdf357c58b8a65c66d7c19c8e4d114

void는 JavaScript의 연산자입니다. 즉, 표현식을 실행하기만 하고 값을 반환하지 않습니다.
void 연산자의 사용 형식은 다음과 같습니다.

javascript:void (expression) 
javascript:void expression

좋은 프로그램 스타일을 위해서는 두 번째 유형을 괄호와 함께 사용하는 것이 좋습니다.
void 연산자를 사용하여 javascript: void(document. form.submit()). 표현식이 평가되지만 현재 문서에 아무것도 로드되지 않습니다. void(0)는 0으로 평가되지만 JavaScript에는 영향을 미치지 않습니다. 즉, 05cd31c061e2f55b8aebfd1d4b6e4954.
핵심은 void가 javascipt 자체의 연산자라는 점을 아는 것입니다. 즉, 표현식만 실행되고 반환 값이 없다는 뜻입니다!
게다가 "#"의 기본 조준점 위치가 상단이기 때문에 페이지가 자동으로 상단으로 돌아가게 되어 이런 일이 발생합니다.

계속 설명

이런 코드는 ajax를 사용해본 사람들 사이에서 흔히 볼 수 있는 코드라고 생각합니다.
e1af307e57e3b79619531e7465c399bf여기< ;/a>
그런데 여기서 void(0)는 무엇을 의미하나요?

void는 표현식이 평가되지만 값을 반환하지 않음을 지정하는 Javascript의 연산자입니다.

void 연산자 사용 형식은 다음과 같습니다.

1. javascript:void(표현식)
2. javascript:void 표현식

표현식은 Javascript 표준입니다. 계산된 표현 표현식 외부의 괄호는 선택 사항이지만 작성하는 것이 좋습니다. (구현 버전 Navigator 3.0 )

void 연산자를 사용하여 하이퍼링크를 지정할 수 있습니다. 표현식이 평가되지만 현재 문서에는 아무것도 로드되지 않습니다.

다음 코드는 나중에 사용자에게 아무 일도 일어나지 않도록 하는 하이퍼링크를 만듭니다. 사용자가 링크하면 void(0)는 0으로 평가되지만 Javascript에는 아무런 영향을 미치지 않습니다.

92089eb7775f8b2da9a0f317f5f010ab여기서는 아무 일도 일어나지 않습니다63505a6f727f70c8bd4066f3066dcb9d

다음 코드는 사용자에 대한 하이퍼링크를 생성합니다. 양식은 다음과 같은 경우에 제출됩니다. 주문이 이루어졌습니다.

40cf5f64c15043244209fb8b7cc02494여기에서 양식을 제출하세요63505a6f727f70c8bd4066f3066dcb9d

a href=#with a href =javascript: void(0) 링크를 구별하는 여러 가지 방법

# 위치 정보 포함

기본 앵커는 #top이며 웹 페이지의 상단입니다

javascript:void (0)은 데드 링크만 나타냅니다

이것이 때때로 페이지가 매우 길고 탐색 링크가 분명히 #

페이지 상단으로 점프하는 이유입니다

javascript :void(0)는

이 아니므로 스크립트를 호출할 때는 void(0)

또는 7ce8961e120a815eeb46b3f04acc755f

을 사용하는 것이 가장 좋습니다.

다양한 연결 방법
1.window.open(''url'')

맞춤 기능 사용

<script>
function openWin(tag,obj)
 {
  obj.target="_blank";
  obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
  obj.click();
  }
</script>
   
<a href="javascript:void(0)" onclick="openWin(3,this)">株洲</a>
window.location.href=""


href=”#”,包含了一个位置信息.默认的锚是#top,也就是网页的上端,当连续快速点击此链接时会导致浏览器巨慢甚至崩溃。

当然我们一般用三个 href="###",不过看了这篇文章我们以后就可以使用javascript:;(一个冒号一个分号)

javascript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。 

javascript:;好些,javascript:void(0);据说某些情况下有浏览器兼容bug。(此点bug我也不知道什么时候能出现,知道的童鞋请指教)。 

可以写成javascript:;,qq空间很多都是写成javascript:; 
我感觉这两者之间没有什么差别,都是执行一个空事件。 
javascript:;甚至少了7个字符,呵呵。 

新浪微博写的是javascript:void(0); 

我以前一直写的是javascript:void(0);但是现在写的都是javascript:;

a href="#"> 点击链接后,页面会向上滚到页首,# 默认锚点为 #TOP
782a113e893d25c09a786963e31be749 点击链接后,页面不动,只打开链接
831a0753b4eca98bb6098fb73e118a45 作用同上,不同浏览器会有差异。

点击链接后,不想使页面滚到页首,就用href="javascript:void(0)",不要用href="#",return false也有类似作用

详解href="#"与href="javascript:void(0)"的区别

"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者7ce8961e120a815eeb46b3f04acc755f
414cf55ed2331ac9b67428e512c358bc等
打开新窗口链接的几种办法
1.window.open('url')
2.用自定义函数

        <script>
        function openWin(tag,obj)
        {
            obj.target="_blank";
            obj.href = "Web/Substation/Substation.aspx?stationno="+tag;
            obj.click();
        }
        </script>
<a href="javascript:void(0)" onclick="openWin(3,this)">LINK_TEST</a>

window.location.href=""

如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:
1:63e1bc3e75af5f42a8a329bb9f64d9ed5db79b134e9f6b82c0b36e0489ee08ed
2:c53ddf0ca6a79e50983ed5bdeb382bf85db79b134e9f6b82c0b36e0489ee08ed
3:00f568e9b55293dc1fee80c604864dab5db79b134e9f6b82c0b36e0489ee08ed
4:21024df398055a131bfe982ffd5594455db79b134e9f6b82c0b36e0489ee08ed
5:9172d694fd10dba3ca22fef2b5a671bc54bdf357c58b8a65c66d7c19c8e4d114(好像在FF中不能显示)

慎用JavaScript:void(0)
今天调试CGI的时候,明明CGI程序已经执行,并且最后结果也是正确的,但是页面就是不刷新。在FireFox2.0下测试,结果却是正常的,IE6却偏偏不刷新!仔细调查了一下,发现cgi页面链接的是 6d9248abe2d94383a49b81be86827bf9 only a sample 5db79b134e9f6b82c0b36e0489ee08ed,问题就出在这个void(0)上!让我们先来看看JavaScript中void(0)的含义:
JavaScript中void是一个操作符,该操作符指定要计算一个表达式但是不返回值。
void 操作符用法格式如下:
1. javascript:void (expression_r_r)
2. javascript:void expression_r_r
expression_r_r是一个要计算的 JavaScript 标准的表达式。表达式外侧的圆括号是可选的,但是写上去是一个好习惯。我们可以使用 void 操作符指定超级链接。表达式会被计算但是不会在当前文档处装入任何内容。面的代码创建了一个超级链接,当用户点击以后不会发生任何事。当用户点击链接时,void(0) 计算为 0,但在 JavaScript 上没有任何效果。
c53ddf0ca6a79e50983ed5bdeb382bf8单击此处什么也不会发生5db79b134e9f6b82c0b36e0489ee08ed
也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。
其实我们可以这样用cb4acbb60fc4a19a6d654c00b5267761,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),:) ,所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。
 

자바스크립트를 사용할 때 일반적으로 다음과 유사한 의사 링크를 사용합니다.
b36bf3b0b4634dd7fb77bc4ab5515eccSubmit5db79b134e9f6b82c0b36e0489ee08ed
자바스크립트 메소드를 호출합니다. 이 방법의 한 가지 문제점은 다음과 같습니다.
링크를 클릭하면 페이지가 이동하지 않지만 스크롤 막대가 위로 스크롤됩니다. 해결 방법은
아래와 같이
ffa4e0242887f93e351e1c8f137b48b2제출5db79b134e9f6b82c0b36e0489ee08ed

###

a href="javascript:void(0 )" onclick="javascript:method;return false;"제출
javascript:void(0)은 점프하지 않습니다.)

또 다른 방법은 #this
a href="#this"입니다. onclick="javascript:method"

더 많은 javascript:; 및 javascript:void(0) 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.