使用rx.js控制键盘事件 [英] Using rx.js to control keyboard events
本文介绍了使用rx.js控制键盘事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个简单的问题。 :) 在JavaScript KeyDown中,如果按照os和浏览器相关的速率(从我的测试中)按下重复。
我可以获得Rx和jQuery的RX扩展来接收来自键盘的事件。像这样:
$(document).keydownAsObservable()。select( < span style ="color:blue; font-family:Consolas; font-size:9pt"> function (e ){
return e.which;})。where( function < span style ="color:black; font-family:Consolas; font-size:9pt">
(key){ 返回 (key == 38 || key == 37)})。subscribe( 功能
(){dosomething();});
$(document).keydownAsObservable().select(function (e) { return e.which; }).where(function (key) { return (key == 38 || key == 37) }).subscribe(function () { dosomething(); });
推荐答案
我不确定JS,但在.NET中我可能会这样做:
I'm not sure about JS, but in .NET I'd probably do something like this:
keyDown.Take(1)
.SelectMany(key => Observable.Generate(
key,
_ => true,
k => k,
k => k,
_ => TimeSpan.FromSeconds(1)))
.TakeUntil(keyUp)
.Repeat();
这篇关于使用rx.js控制键盘事件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文