커서치면 아래에 뜨게 하기




<HTML>

1
2
3
4
5
6
7
8
<div class="col-sm-10">
    <div class="col-sm-12">
        <input type="hidden" name="memCode" id="memCode"/>
        <input type="hidden" name="value-keyword" id="value-keyword"/>
        <input type="hidden" name="str" id="str"/>
        <input type="text" class="col-xs-10 col-sm-10" id="memName" name="memName" autocomplete="off" placeholder="회원이름">
    </div>
</div>
cs





아래 스크립트는 .keyup(), .keypress(), .autocomplete() 을 활용한 내용.


참고한 사이트:

http://findfun.tistory.com/284

http://blog.naver.com/junhwen/130158515885

http://javafactory.tistory.com/entry/jQueryEventkeydownkeypresskeyup-%ED%82%A4%EB%B3%B4%EB%93%9C-%EC%9D%B4%EB%B2%A4%ED%8A%B8


.keyup()

키보드를 누르고 있다가 뗄 떼 이벤트 발생

누른 키가 뭔지 확인하려면 event 객체 활용

브라우저가 event 객체 정보를 가지고 있으면 jQuery의 .which 속성을 사용해 키보드 키 활인 가능

예) event.which = 13 은 엔터키

실제 텍스트를 잡아내려면 .keyup() 보다는 .keypress()를 사용

영어는 .keypress() 이벤트 사용 가능하지만 한글은 지원하지 않아 .keyup() 사용해야 한다


.keypress()

키보드가 입력 받았을 때 이벤트 발생

키 누름을 감지할 필요가 있을 때

.keydown() 와 비슷하지만 키를 반복적으로 누를 때 다름

키를 계속 누르고 있다면 .keydown() 은 이벤트 한 번 발생, .keypress() 는 문자 찍힐 때마다 이벤트 발생

보조키(shift) 누르면 .keydown() 은 이벤트 발생, .keypress() 는 이벤트 발생하지 않음.

그러나 .keypress() 는 공식적으로 지원하지 않는 함수. 브라우저별, 브라우저 버전별, 플랫폼에 따라 다르게 동잘 할 수 있음.



keydown() - 키보드가 눌러질 때 발생

keypress() - 글자가 입력될 때 발생

keyup() - 키보드가 떼어질 때 발생




<Script>

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
$(document).ready(function(){
    
    //회원명 입력시 회원정보 가져오기
    $("#memName").keyup(function(){
        $("#value-keyword").val($(this).val());
    });
    $("#memName").keypress(function(e){
        if(e.which == 13){
            $(this).blur();
        };
    });
    $("#memName").autocomplete({
        source: function(request, response){
            $.ajax({
                url     : "getMemMobileInfo.do",
                type    : "post",
                data    : {memName: $("#value-keyword").val()},
                success : function(data){
                    response($.map(data.DataList, function(item){
                        return{
                            label: item.STR,                            
                            value: item.STR,
                            memCode: item.MEM_CODE,
                            memTypeInput: item.MEM_TYPE_INPUT,
                            memType: item.MEM_TYPE,
                            pushYn: item.PUSH_YN,
                            deviceInput: item.DEVICE_INPUT,
                            device: item.DEVICE,
                            deviceId: item.DEVICE_ID
                        };
                    }))    
                },
                error    : function(request, status, error){
                    alert("회원 이름으로 정보를 불러오는 중 오류가 발생하였습니다.")
                }
            });
        },
        position: {my: "right top", at: "right bottom"},
        minLENGTH: 2,
        focus: function(event, ui){
            return false;
        },
        select: function(event, ui){
            if (ui.item.pushYn == 'N') {
                alert("푸시알림을 거부한 회원은 선택할 수 없습니다.");
                return false;
            }
            //TBL_MEM_MOBILE_INFO. DEVICE 디바이스구분(A:안드로이드, I:아이폰)
            //TBL_PUSH_NOTICE. OS_TYPE OS(1:안드로이드, 2:아이폰, 3:전체)
            if (ui.item.device == 'A') {
                $("#osType").val("1");
                
            } else if (ui.item.device == 'I' ) {
                $("#osType").val("2");
            };             
            //TBL_MEM_MST. MEM_TYPE 회원종류(0:일반회원, 1:부동산회원)
            //TBL_PUSH_NOTICE. MEM_TYPE 회원종류(1:비중개회원, 2:중개회원, 4:분양회원, 7:전체)
            //5:비중개회원(개별), 6:중개회원(개별)
            if (ui.item.memType == '0') {
                $("#memType").val('5');
            } else if (ui.item.memType == '1') {
                $("#memType").val('6');
            };
            $("#memCode").val(ui.item.memCode);
            $("#device").val(ui.item.device);
            $("#osTypeInput").val(ui.item.deviceInput);
            $("#memTypeInput").val(ui.item.memTypeInput);
            $("#memName").blur();
        },
        open: function(e, ui){
            $(this).removeClass("ui-corner-all").addClass("ui-corner-top");
        },
        closefunction(){
            $(this).removeClass("ui-corner-top ui-autocomplete-loading").addClass("ui-corner-all");
        }
    });
})
cs


+ Recent posts