2014-07-12 3 views
-2

자바 스크립트로 기본 pos의 일종을 만들어야합니다. 키보드처럼 작동하는 바코드 스캐너가 있습니다. 그래서 나는 바코드로부터 입력이 왔을 때 automaticaly를 탐지하고 그 코드를 가진 보고서를 만들고 싶다.두 "keyup"이벤트 사이의 시간 간격을 계산하는 방법

if there a dalay between keyup > 300ms = another scan 

var speed = new Date().getTime() - lastkey; 
    lastkey = (new Date()).getTime(); 
     console.log(speed); 
    if(speed > 300) { 
     //little delay for prevent computer overhead o_O 
     var create_d = setTimeout(createchange,300) 
     } else { 
     //barcode sanning continue 
     clearTimeout(create_d) 
    } 

JsFiddle link <

+1

질문에 JSFiddle 코드를 입력하십시오. 앞으로 링크가 끊어 질 수 있습니다. –

+1

귀하의 질문은 무엇입니까? – charlietfl

+0

@charlietfl, 안녕하세요, 그는 이미 –

답변

1

순수 JS 사용 :를 keyDown의 차이를 표시합니다

document.body.onkeydown = function() 
{ 
var time = this._time; 
var timestamp = new Date().getTime(); 
if (time) 
    console.log(timestamp - time); 

this._time = timestamp; 
} 

콘솔을 나는 스캐너가 정말 빠르다 때문에 좋은 생각 타이핑 속도의 차이를 계산하는 것입니다 생각 이벤트 (밀리미터 단위)

+0

고마워요 : D – KARC

+0

정확히 "this._time"작동 방법은 무엇입니까? 결코 보지 못했던 ^^ – KARC

+0

'this'는 함수 문맥에서'document.body'를 표현합니다. '_time'은 객체에 설정된 변수입니다. '카운터', 'abc'또는 다른 어떤 것일 수도 있습니다. – eithed

관련 문제