click() / dblclick() 이벤트 메서드, return false / e.preventDefault() - 기본 이벤트 막음

imjingu·2023년 7월 25일
0

개발공부

목록 보기
214/481

click() / dblclick() 이벤트 메서드
click() : 선택한 요소를 클릭했을 때 발생
dblclick() : 선택한 요소를 연속해서 두번 클릭했을 때 발생

기본형
1) click 이벤트 등록
$("이벤트 대상 선택").click(function() { 자바 스크립트 코드;});
$(document).on("click", function() { 자바 스크립트 코드;});

2) click 이벤트 강제 발생
$("이벤트 대상 선택").click(); - 콜백함수가 사라짐

1) dblclick 이벤트 등록
$("이벤트 대상 선택").dblclick(function() { 자바 스크립트코드;});
$(document).on("dblclick", function() { 자바 스크립트 코드;});

2) dblclick 이벤트 강제 발생
$("이벤트 대상 선택").dblclick();

<a>, <form> 태그에 클릭 이벤트 적용 시 기본 이벤트 차단하기

기본형
1) return false를 이용한 차단 방식
$("a 또는 form").이벤트 메서드(function() {
자바 스크립트 코드;
return false;
});

2) preventDefault() 메서드를 이용한 차단 방식
$("a 또는 form").이벤트 메서드(function(e) {
e.preventDefault(); // 기본 이벤트를 막다
자바 스크립트 코드;
});

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
    <title>Document</title>
    <script>
        

        $(function() {
            $('.btn1').on('click', function(e) { // e 메서드를 사용하여 기본이벤트인 click이벤트가 차단
                e.preventDefault();
                $('.txt1').css({ backgroundColor: 'yellow'});
            });
            $('.btn2').on('click', function() {
                $('.txt2').css({ backgroundColor: 'cyan'});
            });
            $('.btn3').on('dblclick', function() {
                $('.txt3').css({ backgroundColor: 'lime'});
            });
        });
    </script>
</head>
<body>
    <p><a href="https://www.naver.com/" class="btn1">버튼1</a></p>
    <p class="txt1">내용1</p>
    <p><a href="https://www.naver.com/" class="btn2">버튼2</a></p>
    <p class="txt2">내용2</p>
    <p><button class="btn3">버튼3</button></p>
    <p class="txt3">내용3</p>
</body>
</html>

0개의 댓글