【发布时间】:2013-10-30 04:39:20
【问题描述】:
我有一些代码结合了 .keypress() 和 .keyup() 事件:
$(this).on('keypress keyup', function (e) {
var layout = 'undefined';
if (e.type == "keypress") {
// set layout
layout = 'en';
} else {
// use layout
alert(layout);
}
});
我们知道顺序是 .keydown() -> .keypress() -> .keyup()。但是在 .keyup() 上,事件变量 layout 始终是 undefined。
我做错了什么?
【问题讨论】:
-
在这个 wahta 中是 $(this) 是输入吗?
-
当按键发生时,它初始化为“未定义”,然后进入 if 部分并设置为“en”,但在 keyup 事件中它再次初始化为“未定义”,这一次它进入 else 部分和不会设置为“en”。所以解决方案只是定义你的变量layourglobel,这样它就不会在keypress和keyup事件中初始化。
-
好的,索希尔!这是我的错。