테스트 사이트 - 개발 중인 베타 버전입니다

자바스크립트 alert 후에 location 문제 채택완료

홈피공장장 5년 전 조회 2,681

안녕하세요.

 

아래 코드에서..  아래거는 잘 되는데, 위에거는 안되는데요.

왜일까요? ㅠ

 

단순하게.. 경고창 하나 뜨게하고, 지정된 화면으로 이동을 하는건데요.

 

아래처럼 단독으로 함수를 만들어ㅓ 하면 되는데

 

위처럼 엔터키를 입력햇을때 등.. 이런 키이벤트가 들어가면 안되는거 같은데.. 

고수님들 봐주시면 감사하겠습니다.

 

==============================================

 

// 엔터키 누름 -> 경고창 후 location.href 이동이 안됨.


    $(document).ready(function() {
        $("#search").keydown(function(key) {
            if (key.keyCode == 13) {
                alert("<?=$row2[auth_ment]?>");
                top.location.href = "<?=$row2[auth_url]?>";
            }
        });
    });
 

 

// 잘 됨.

    function auth_chk(){
        alert("<?=$row2[auth_ment]?>");
        top.location.href = "<?=$row2[auth_url]?>";
    }

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

5년 전

이벤트 핸들러 상단에 preventDefault(); 를 추가해보세요.

 

</p>

<p>    $(document).ready(function() {

        $("#search").keydown(function(key) {</p>

<p><b>            key.preventDefault();   //추가</b></p>

<p>            if (key.keyCode == 13) {

                alert("<?=$row2[auth_ment]?>");

                top.location.href = "<?=$row2[auth_url]?>";

            }

        });

    });</p>

<p>

 

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

5년 전

코드는 문제 없어 보입니다.

변환된 javascript 코드자체를 보세요

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

홈피공장장
5년 전
변환된 코드가 어떤걸 말하는건가요? 고수분들이 쓰시는 방법? 용어? 인가요?
백수1995
5년 전
해당 페이지에서 소스보기 하면 나오는 javascript 코드를 이야기 하는 겁니다.

추가로 key.keyCode 도 alert 로 뿌려보세요
홈피공장장
5년 전
말씀하신대로 코드 적어봅니다.
같은건데.. 이상하게 위에 함수는
경고창 이후에 이동을 못하네요.

$(document).ready(function() {
$("#search").keydown(function(key) {
if (key.keyCode == 13) {
alert("로그인 후 캘린더를 무료로 사용할 수 있습니다.");
top.location.href = "http://jnbstock.com/member.html?section=login";
}
});
});

function auth_chk(){
alert("로그인 후 캘린더를 무료로 사용할 수 있습니다.");
top.location.href = "http://jnbstock.com/member.html?section=login";
}
백수1995
5년 전
코드 자체는 안될이유가 없습니다.

top 객체가 아래코드와 위 코드가 다른가 봅니다.
top 객체를 확인해보세요
홈피공장장
5년 전
top. 객체는 써도 그대로고, 안써도 동일하네요.
그래서 더 환장...

위에 함수는 경고창까지만 나오고, 이동만 못합니다.
백수1995
5년 전
top 객체를 console.log 로 찍어보세요
가능하다면 break 걸어서 해보셔도 되구요

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인