해당 글은 stackoverflow 에서 추천을 많이 받은 글을 발췌했습니다.

오역은 댓글로 피드백주세요:)


스택 오버플로에 질문글이 올라왔다.


jQuery 를 이용해서 다른페이지로 이동할수있나요?

(How can I redirect the user from one page to another using jQuery?)


다음은 추천을 가장 많이 받은 답변이다. (추천 9690개)


jQuery 를 이용해도 더 간단해지지 않습니다.

(One does not simply redirect using jQuery)


jQuery는 필요하지 않으며 window.location.replace(...) 를 사용하는 방법이 http redirect를 가장 잘 나타냅니다

(jQuery is not necessary, and window.location.replace(...) will best simulate an HTTP redirect.)


이 방법은 window.location.href = 을 사용하는것보다 나은데, 왜냐하면 replace() 는 기존 페이지의 세션 정보를 저장하지 않고, 이것은 사용자가 뒤로가기 버튼을 눌렀을 때 정상적으로 이전 페이지를 불러올 수 없다.

(It is better than using window.location.href =, because replace() does not keep the originating page in the session history, meaning the user won't get stuck in a never-ending back-button fiasco.)


만약 단순히 링크를 클릭하는것을 구현하고싶다면 location.href를 사용하고, HTTP redirect 를 구현하고 싶다면 location.replace.을 써라

(If you want to simulate someone clicking on a link, use location.href. If you want to simulate an HTTP redirect, use location.replace.)



다음은 jQuery 로 사용하는 방법을 어떤분이 올려놓은 답변이다


경고 :이 답변은 가능한 해결책으로 제공되었을뿐입니다. 그것은 jQuery를 필요로하기 때문에 분명히 최선의 해결책은 아닙니다. 대신 순수한 JavaScript 솔루션을 선호하십시오.


WARNING: This answer has merely been provided as a possible solution; it is obviously not the best solution, as it requires jQuery. Instead, prefer the pure JavaScript solution.


$(location).attr('href', 'http://stackoverflow.com')


출처 : http://stackoverflow.com/questions/503093/how-do-i-redirect-to-another-page-in-jquery

다음과 같이 하면된다.


document.getElementById("myForm").submit();

보통 onsubmit과 같은 이벤트 핸들러에서 false를 반환하는 것은 이벤트를 발생시키지 않기 위해서 사용합니다.


따라서, onsubmit 경우에, 이것은 양식이 제출되지 않는다는 것을 의미 할 것입니다.



출처 : http://stackoverflow.com/questions/855360/when-and-why-to-return-false-in-javascript

이 글의 출처는 stackoverflow 이고 제가 영어를 잘하지 못해서 번역이 틀릴 수 있습니다.

오역은 댓글달아주시면 감사하겠습니다



html5 <a> 태그에서 자바스크립트 함수 호출하는 방법.


javascript:void(0)을 사용하는것을 권장합니다.


href="#" 을 사용하는 경우가 꽤 많이 있는데 이는 권장하지 않습니다.

이에는 3가지 이유가 있습니다.


첫번째는 개발자 팀 사이에 # 사용을 권장하면 필연적으로 다음과 같은 함수의 반환 값 (return false) 을 사용하게됩니다


function doSomething() {
    //사용할 코드
    return false;
}

하지만 개발자들은 onclick에서 return doSomething()을 사용하고 doSomething()을 사용하는 것을 잊어 버립니다.


두 번째 이유는 최종 반환 값이 false라는 점입니다. 호출 된 함수가 오류를 throw하면 실행되지 않습니다. 

따라서 개발자는 호출 된 함수에서 오류를 적절히 처리하는 것을 기억해야합니다.


세 번째 이유는 onclick 이벤트 속성이 동적으로 할당되는 경우가 있기 때문입니다. 필자는 함수를 호출하거나 동적으로 할당 할 수있는 기능을 선호합니다.

 즉, 특정 첨부 메소드 또는 다른 메소드에 대한 함수를 특별히 코딩하지 않아도 됩니다. 그러므로 HTML 마크 업에서 내 onclick (또는 무엇이든)은 다음과 같습니다.


onclick="someFunc.call(this)"

OR

onclick="someFunc.apply(this, arguments)"


javascript:void(0)를 사용하면 위 코드에서 발생할 문제를 피할 수 있으며 단점을 발견하지 못했습니다.


 당신이 독창적 인 개발자라면 분명히 자신 만의 선택을 할 수 있습니다. 하지만 팀으로 일하고 있다면 다음을 고려하세요


href = "#" 를 사용하면 onclick에 항상 false가 포함되어 있는지 확인하고

호출 된 함수는 오류를 발생시키지는 않는지 체크하고

함수를 onclick 속성에 동적으로 연결하면 오류를 throw하지 않고 false를 반환하도록 신경써야합니다


하지만 이 코드는 모든 문제를 해결해 줄 것입니다


href="javascript:void(0)"


출처 : http://stackoverflow.com/questions/134845/which-href-value-to-use-for-javascript-links-or-javascriptvoid0/134957#134957

+ Recent posts