> 웹 프론트엔드 > JS 튜토리얼 > javascript:void(0) 사용 소개

javascript:void(0) 사용 소개

高洛峰
풀어 주다: 2017-01-24 14:06:34
원래의
1179명이 탐색했습니다.

최근 태그와 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. 마우스를 위로 움직여 손 모양으로 바꾸려면

Click Me!

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

javascript:void (expression) 
javascript:void expression
로그인 후 복사

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

계속 설명

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

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

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

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

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

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

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

여기서는 아무 일도 일어나지 않습니다

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

여기에서 양식을 제출하세요

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

# 위치 정보 포함

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

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

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

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

javascript :void(0)는

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

또는

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

다양한 연결 방법
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
点击链接后,页面不动,只打开链接
作用同上,不同浏览器会有差异。

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

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

"#"包含了一个位置信息
默认的锚点是#top 也就是网页的上端
而javascript:void(0) 仅仅表示一个死链接
这就是为什么有的时候页面很长浏览链接明明是#可是跳动到了页首
而javascript:void(0) 则不是如此
所以调用脚本的时候最好用void(0)
或者


打开新窗口链接的几种办法
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:

2:
3:
4:
5:(好像在FF中不能显示)

慎用JavaScript:void(0)
今天调试CGI的时候,明明CGI程序已经执行,并且最后结果也是正确的,但是页面就是不刷新。在FireFox2.0下测试,结果却是正常的,IE6却偏偏不刷新!仔细调查了一下,发现cgi页面链接的是 only a sample ,问题就出在这个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 上没有任何效果。
单击此处什么也不会发生
也就是说,要执行某些处理,但是不整体刷新页面的情况下,可以使用void(0),但是在需要对页面进行refresh的情况下,那就要仔细了。
其实我们可以这样用,这句话会进行一次submit操作。那什么情况下用void(0)比较多呢,无刷新,当然是Ajax了,看一下Ajax的web页面的话,一般都会看到有很多的void(0),:) ,所以在使用void(0)之前,最好先想一想,这个页面是否需要整体刷新。
 

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

###

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 중국어 웹사이트를 주목하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿