OnClick에서 JavaScript의 차이는 일반적으로 유용하지 않으며 눈치 채지 못하지만 무언가 잘못되면 약간 우울합니다. 설명은 다음과 같습니다.
예전에는 매우 캐주얼했지만 나중에 .NET의 LinkButton이 <a href = "javaScript : fun ();"...>의 형태로 사용되는 것처럼 보였습니다. 오늘 저는이 방법을 사용하여 몇 가지 문제가 발생했습니다. 나는 네티즌 기사와 아래의 결론을 가져갈 것입니다.
1. 링크 된 OnClick 이벤트가 먼저 실행되고 HREF 속성 (Page Jump 또는 JavaScript Pseudo-Link)에 따라 작업이 이어집니다.
2. 링크에 HREF와 ONCLICK이 모두 있다고 가정하면 HREF 속성에 따른 조치를 실행하지 않으려면 OnClick은 RETURN 값의 RETURN 값을 가져와야합니다. 믿지 않으면 Gogoogle 함수에서 Return False를 주석 할 수 있습니다.
3. 페이지가 너무 길고 스크롤 막대가 있고 링크 된 OnClick 이벤트를 통해 작업을 수행하려는 경우. HREF 속성은 JavaScript로 설정되어야합니다 : void (0); 불필요한 페이지 점프를 방지하는 #대신;
4. 링크 된 href 속성에서 리턴 값이있는 함수가 호출되면 현재 페이지의 내용 이이 함수의 반환 값으로 대체됩니다.
5. 시프트 키를 유지할 때 약간의 차이가있을 것입니다.
6. 내가 오늘 발생한 문제는 부모의 노드에 IE6.0에서 HREF 형태로 액세스 할 수 없다는 것입니다.
7. JavaScript : Protocol을 A의 HREF 속성으로 사용하지 마십시오. 이는 Window의 불필요한 트리거링을 유발할뿐만 아니라 IE에서 GIF 애니메이션 이미지 재생을 중단합니다.
그게 다야, 나는 그것에 많은 시간을 보냈다.
[이유]
CheckBoxList Control을 사용하는 경우 각 확인란을 연결하는 기능을 구현하려고합니다. 일부 기능을 달성하기 위해 링크를 클릭하는 것 외에도 확인란을 선택해야합니다.
<input type = "checkbox"name = "chk"id = "chk">
<label for = "chk"> 선택 <a onclick = "this.parentNode.click ();" href = "#"style = "Border : Solid 1px Blue;"> [link in label] </a> </label>
마지막으로 ParentNode를 사용하여 구현됩니다.
<a href = "javaScript : void (0)"onclick = "definefield (this); return false"> clickTodeFine </a>