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

안녕하세요.

 

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

왜일까요? ㅠ

 

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

 

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

 

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

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

 

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

 

// 엔터키 누름 -> 경고창 후 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개

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

 

Copy
$(document).ready(function() {
        $("#search").keydown(function(key) {

            key.preventDefault();   //추가

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

 

 

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

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

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

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

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

답변에 대한 댓글 6개

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

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

$(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";
}
코드 자체는 안될이유가 없습니다.

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

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

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

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

로그인
🐛 버그신고