> 헤드라인 > 본문

정적 페이지에서 자주 사용되는 javascript:; 및 javascript:void(0)에 대해 이야기해 보겠습니다.

伊谢尔伦
풀어 주다: 2017-07-07 10:07:26
원래의
1734명이 탐색했습니다.

때때로 js를 작성할 때 값을 반환하지 않고 이벤트를 트리거해야 하므로 javascript:; 및 javascript:void(0)와 같은 작성 방법이 필요할 수 있습니다.

php 중국어 웹사이트 관련 튜토리얼: Dugu Jiujian (3)_JavaScript 비디오 튜토리얼

관련 텍스트 코스: javascript tutorial

페이지를 만들 때 링크를 클릭한 후 아무것도 하지 않거나 클릭에 대한 응답으로 다른 작업을 완료하려면 해당 속성을 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) javascript 사용: void(0)은 IE에서 다음과 같은 문제를 일으킬 수 있습니다. gif 애니메이션 재생이 중단되는 등의 현상이 발생하므로 가장 안전한 방법은 "####"을 사용하는 것입니다. 링크를 클릭한 후 페이지 상단으로 이동하는 것을 방지하기 위해 onclick 이벤트가 false를 반환할 수 있습니다.
3. 마우스를 움직여 손 모양으로 바꾸고 싶다면

<span style="cursor:pointer" onclick="foo()">Click Me!</span>
로그인 후 복사

void를 사용할 수 있습니다. 즉, 표현식만 실행하지만 반환 값은 없습니다. 표현식은 계산되지만 현재 문서에 아무것도 로드되지 않습니다. 예를 들어 void(0)는 0으로 평가되지만 javascript에는 영향을 미치지 않습니다. 즉, 는 < ;a href="javascript:void(1)"> 과 동일한 효과를 갖습니다.

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

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

계속 설명하세요

Ajax를 사용해 본 사람들은 다음과 같은 코드를 자주 봅니다.

여기서 void(0)는 정확히 무엇을 의미하나요?

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

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

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

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

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

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

다음 코드는 사용자가 클릭할 때 양식을 제출하는 하이퍼링크를 생성합니다.

여기에 양식 제출

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

#에는 위치 정보가 포함되어 있습니다

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

그리고 javascript:void(0)는 데드 링크만 나타냅니다

이것이 때때로 페이지 탐색 시간이 매우 길어지는 이유입니다 link는 당연히 #이고 페이지 상단으로 점프합니다

. 하지만 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)">株洲</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.用自定义函数

代码如下:

如果是个# ,就会出现跳到顶部的情况,个人收藏的几种解决方法:
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)之前,最好先想一想,这个页面是否需要整体刷新。

使用javascript的时候,通常我们会通过类似:

的方式,通过一个伪链接来调用javascript方法.这种方法有一个问题是:
虽然点击该链接的时候不会跳转页面.但是滚动条会往上滚,解决的办法是返回一个false.
如下所示:

还可以用 ###

a href="javascript:void(0)" onclick="javascript:方法;return false;"提交

javascript:void(0)就不会向上跳了:)

还有一个方法是 #this
a href="#this" onclick="javascript:方法"

相关内容推荐:

1. JavaScript参考手册

2. JavaScript中文参考手册

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