2014-11-10 9 views
0

입력 필드에 Enter 키를 사용하지 못하게하려고합니다. 백 스페이스 키를 사용하여 창을 닫을 수는 있지만 엔터 키가 작동하지 않는 것 같습니다. 왜? keydown 함수의 바인딩을 해제했기 때문일 수 있습니까?Enter 키가 event.preventDefault()로 막히지 않습니다

$(document).unbind('keydown').bind('keydown', this.keyPress); 

keyPress: function (event) 
{ 
    var doPrevent = false; 
    var d = event.srcElement || event.target; 
    if ((d.tagName.toUpperCase() === 'INPUT' && 
                (d.type.toUpperCase() === 'TEXT' || 
                 d.type.toUpperCase() === 'PASSWORD' || 
                 d.type.toUpperCase() === 'FILE' || 
                 d.type.toUpperCase() === 'EMAIL' || 
                 d.type.toUpperCase() === 'SEARCH' || 
                 d.type.toUpperCase() === 'DATE')) 
                || d.tagName.toUpperCase() === 'TEXTAREA') { 

     if (event.keyCode === 8) 
      doPrevent = d.readOnly || d.disabled; 
     else if (event.keyCode == 13) 
      doPrevent = true; 
    } 
    else 
     doPrevent = true; 
    if (doPrevent) 
     event.preventDefault(); 
}, 
+0

사용'return false; ' – prog1011

+0

여전히 작동하지 않습니다. –

+0

무엇을 할 때 Enter 키를 누르지 않습니까? 백 스페이스 키는 언제부터 창을 닫는 것과 관련이 있습니까? – RoToRa

답변

0

코드가 작동하지 않습니다. 내 윈도우가 여전히 닫혀 있다면 Enter 키가 backbone.modal.js에있는 다른 함수에 연결되어 있기 때문입니다.

고마워요!

관련 문제