2016-03-26 14 views
3

私は、ユーザーが私のアプリを開いた状態でエスケープキーを押したときに掴みようとしています(必ずしも入力フィールドがフォーカスされているわけではありません)。しかし、これまでのところ、私はキーボードイベントをまったく傍受していません。ジャストワンライナーのキーボードドライバを作る...Cycle.jsでキーボードイベントを捉えるには?

drivers.DOM.select(':root') 
.events('keypress') 
// .filter(ev => ev.keyCode === 27) 
.map(ev => true) 

を私もbodyhtmlに追いついをキャッチしようとしたが、両方無駄にしました

答えて

3

:これは私が現在しようとしているものです。

Cycle.run(main, { 
    DOM: makeDOMDriver(containerElement), 
    Keypress:() => Rx.Observable.fromEvent(document, 'keypress'); // <===== 
}); 

この例をチェックしてください:https://github.com/cyclejs/examples/blob/master/animated-letters/src/main.js#L110

+0

は理にかなって、ありがとう! (どのようにエレガントなサイクルができることが驚くほど、それを作るために非常にありがとう:)) – Vincent

関連する問題