2012-12-30 3 views
4

그래서 필드의 이벤트를 onKeyUp에 클릭 입력하고 내가 사용하는 것이 onKeyUp에 내가 필드에 바인딩 할 수 있습니다 :JQuery와 내가 허용 정상적인 상황에서

$('#something').keyup(function(e) { 
    var enterKey = 13; 
    if (e.which == enterKey){ 
     somefunction(); 
    } 
}); 

그러나 내가 이것을 사용할 수 없으며 사용해야합니다 같은 :

function onkeyup_colfield_check(e){ 
    var enterKey = 13; 
     if (e.which == enterKey){ 
      somefunction(); 
     } 
} 

<input id="something" onkeyup="onkeyup_colfield_check(this)" type="text"> 
그러나 이것은 위와 같이 작동하지 않습니다.

첫 번째 예제와 같은 결과를 어떻게 얻을 수 있습니까?

+0

왜 jQuery를 사용할 수 없습니까? – Popnoodles

+0

지금 내가하고있는 일에 사용할 수 없습니다. jquery 아직이 단계에서로드되지 않습니다 –

+0

그래서 때까지 기다려 ... – Popnoodles

답변

12

event을 인수로 전달해야합니다 (this이 아님).

<input id="something" onkeyup="onkeyup_colfield_check(event)" type="text"> 

또한 모든 주요 브라우저와 완벽하게 호환되도록하기 위해 다음 키를 사용하여 누른 키의 키 코드를 감지 할 수 있습니다.

var charCode = (typeof e.which === "number") ? e.which : e.keyCode; 
+0

당신은 어떤/keyCode - jQuery가 당신을 위해, 하나 또는 다른 사용하여 확인하지 않아도 확인할 필요가 없습니다. – Popnoodles

+0

그 일은 잘 모르겠다. 그럴 경우 사례 문제가 될만한 브라우저가 있다는 것을 알고 있었다. –

+5

@popnoodles 그는 jQuery를 사용하지 않고있다. – jeremy

관련 문제