2014-01-18 7 views
1

저에게 맞지 않는 것에 대해 묻고 싶습니다. 네가 나를 도울 수 있다면.e.keyCode가 작동하지 않습니다.

HTML :

<input type='text' class='blabla' onkeyup="function(id, e);"> 

자바 스크립트 코드 :

function(id, e) { 
    var comment = $(".blabla").val();`<br /> 
    // alert(message); WORK 
    alert(e.keyCode) 
// DOES NOT WORK 
} 
+0

u는 다음과 같은 기능을 선언합니다. function foo (evt) {...}, 키 코드와 마찬가지로 : var keycode = evt.keyCode || evt.which; – Yman

+0

함수에 이름을 지정하고 사용해보십시오. –

답변

1

를보십시오. this 변수는 입력 요소에 대한 참조를 반환합니다.

게시 된 js를 수정하고 함수 매개 변수를 변경하지 않고 함수의 이름을 제공하면 id에 이벤트 객체가 포함됩니다.

+0

방금 ​​위의 모든 것을 엉망으로 만들었고, 고맙다. – Abdou1221

0

당신은 onkeyup 이벤트에 함수 이름으로 function을 사용할 수 없습니다. 이름 말대로해야 되는 function keyfinder

+0

나는 항상하고, 완벽하게 작동한다. – Abdou1221

+1

@ Abdou1221하지만 그 기능에 이름을 붙이면 좋다. – Zword

1

먼저주고 기능은 다음을 시도 onkeyup="function keyfinder(id, event);"

로의 keyup에 호출 그 때는 것은 :

function keyfinder(id, e){ 
var eventval = e || window.event; 
var comment = $(".blabla").val(); 
// alert(message); WORK 
alert(eventval.keyCode); 

}

0

기능 함수 이름이 될 수 없습니다 . HTML에서 function(id, e)inputKeypress(id, e) 또는 적합하다고 생각되는 다른 이름으로 변경하십시오. 자바 스크립트에서

, 그래서 같이 그 함수를 선언 :

function inputKeypress(id, e) { 
    do stuff 
} 
0

방금 ​​id

당신의 PHP 파일의 function

사용 this.id intead에 function보다 다른 이름을 부여 할 필요가 :

<input type='text' class='blabla' onkeyup="funkeyup(this.id, e);"> 
+0

고마워, 너 – Abdou1221

0

당신은뿐만 아니라 스크립트에서 KeyUp 이벤트를 정의 할 수 있도록 분명히, jQuery를 사용하고 있습니다 :

<input type="text" class="blabla" id="mySuperUniqueId" /> 

자바 스크립트

$(".blabla").keyup(function(e) { 
    console.log("pressed key with code", e.keyCode, "on id", this.id); 
}); 

에게 핸들러로 전달 된 익명 함수를

HTML/PHP $(...).keyup(handler)에서 당신이 찾고있는 jQuery 이벤트를 수신합니다. 이 함수 내에서 this은 이벤트가 첨부 된 DOM 요소 (이 경우 input 필드)로 설정됩니다. 당신이 .val()를 사용하는 것처럼, 그 분야에서 일을하려는 경우 당신은 $(...) 처음에 포장해야 할 것 :

$(".blabla").keyup(function(e) { 
    var $input = $(this) 
    console.log("current value is", $input.val()); 
}); 

그냥 값이 변경되지 않을 수도 있음을 염두에 유지, 사용중인 경우 keyup 대신 keydown입니다.

는 더 많은 정보를 정기적 들어 해봐요 함수

<input type='text' class='blabla' onkeyup="doSomething(e)"> 

function doSomething(e){ 
var comment = $(".blabla").val(); 
var id = this.id; 
alert(e.keyCode) // Now it should work 
} 

첫번째 파라미터는 이벤트 객체가 될 것이며, 최소한의 수정을 가진 jQuery-API