And*_*rés 2 javascript jquery events
好的,所以我试图实现类似控制台的行为,我需要暂停执行直到调度某个事件,我真正需要的是:
var evt = $("element").waitForKeyDown();
Run Code Online (Sandbox Code Playgroud)
该假设函数应该暂停执行,直到用户按下"元素"元素上的键,该元素被认为是文本字段.然后,当用户按下该文本字段上的任何键时,执行应继续,并且evt应包含与该事件相关的信息.
这有可能在javascript中实现吗?或者是一种有效的近似行为.
你永远不想在JavaScript中等待 - 只有一个线程,你需要它来处理可能进入页面其他部分的其他事件.
你要做的就是把所有应该发生的东西放在你想要等待的地方并把它打包成一个function(){}.(此函数称为"延续",您将在JavaScript和其他重度异步环境中遇到此模式.)
从那里,您将使用以下jQuery注册您的新函数:
var evt = $("element").keydown(function(event){
var keypressed = event.keyCode;
// do whatever you'd like with the keypress.
});
Run Code Online (Sandbox Code Playgroud)
你可以考虑使用按键而不是keydown,但是按键(几乎是自相矛盾的)并没有让你得到所有的按键,只是那些变成某种文本输入的按键.