반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
// 엔터를 입력하면 콘솔 로그로 해당하는 메시지를 보내는 방법 v-on:keyup.enter
 
<!DOCTYPE html>
<html>
    <head>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
    </head>
    <body>
        <div id="app">
            <input type="text" @keyup.enter ="submit" v-model="name">
        </div>
 
        <script>
            var vm = new Vue({
                el : '#app',
                data:{
                    name:''
                },
                methods:{
                    submit:function(){
                        console.log("submit 완료!" + this.name);
                        this.name = '';
                    }
                }
            })
        </script>
    </body>
</html>
cs


@keyup.enter 혹은 v-on:keyup.enter로 키보드를 눌렀다가 뗄 때 함수를 콜 할 수 있도록 해준다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
 
 
// 여러 키보드 및 마우스 이벤트를 제어 하는 방법
 
<!DOCTYPE html>
<html>
    <head>
        <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
        <script src="https://cdn.jsdelivr.net/npm/lodash@4.17.10/lodash.min.js"></script>
    </head>
    <body>
        <div id="app" @click.right.prevent = "clickMouseRight" @click.alt = "clickAlt">
            <p> space키를 누르면 생성될 매크로 입력 </p>
            <input type="text" v-model = "spaceVal">
            
            <br>
 
            <p> 메시지 입력 </p>
            <input type="text" @keyup.enter ="clickEnter" @keydown.tab = "clickTab" @keydown.esc = "clickEsc" @keyup.space = "clickSpace" @click.left = "clickMouseLeft" v-model="value">
        </div>
 
        <p id="chat"></p>
        <script>
            var vm = new Vue({
                el : '#app',
                data:{
                    value:'',
                    spaceVal: '',
                },
                methods:{
                    clickEnter:function(){
                        if(this.value == '')
                            return;
                        console.log("submit 완료!" + this.value);
                        document.querySelector("#chat").innerHTML += this.value + '<br>';
                        this.value = '';
                    },
 
                    clickTab:function(){
                        console.log("탭키를 누르면 abc가 매크로 처럼 입력됩니다.");
                        this.value += "abc";
                    },
 
                    clickEsc:function(){
                        console.log("Esc버튼을 누르면 초기화 됩니다.");
                        this.value = "";
                        document.querySelector("#chat").innerHTML = '';
                    },
 
                    clickSpace:function(){
                        console.log("Space버튼을 누르면 자신이 지정한 값이 매크로로 들어갑니다.");
                        this.value += this.spaceVal;
                    },
 
                    clickMouseLeft:function(){
                        if(this.value == '')
                            return;
                        console.log("마우스 왼쪽 버튼을 눌렀을 때 자동 제출");
                        document.querySelector("#chat").innerHTML += this.value + '<br>';
                        this.value = '';
                    },
 
                    clickMouseRight:function(){
                        console.log("마우스 오른쪽 버튼은 클릭이 금지됩니다.");
                        alert("마우스 오른쪽 버튼 제한");
                        return;
                    },
                    
                    clickAlt:function(){
                        console.log("alt키를 누르면 페이지 이동이 됩니다.");
                        
                        location.href = "http://www.crocus.co.kr";
                    }
                }
            })
        </script>
    </body>
</html>
 
cs


@keyup.enter ="clickEnter" 

엔터를 눌렀다 뗄 때 반응하는 동작이다.


@keydown.tab = "clickTab" 

탭을 눌렀을 때 반응하는 동작이다.


@keydown.esc = "clickEsc" 

esc를 눌렀을 때 반응하는 동작이다.


@keyup.space = "clickSpace" 

스페이스바를 눌렀을 때 반응하는 동작이다.


@click.left = "clickMouseLeft"

왼쪽 마우스 버튼을 누르면 반응하는 동작이다.


@click.right.prevent = "clickMouseRight" 

오른쪽 키를 금지시키며 오른쪽 마우스버튼을 누르면 나타나는 동작이다.


@click.alt = "clickAlt"

알트키를 누르면 반응하는 동작이다.


이제 이를 통해 keydown 혹은 click.right 등등을 이용하여 여러 가지 이벤트를 만들어보자.








반응형