我正在尝试开发一个jQuery插件,以便在用户输入特定的关键短语时执行操作。
例如,我想在keyup上匹配“HELLO”。
var controllerKey = [];
$(window).keyup(function(evt) {
var code = evt.keyCode ? evt.keyCode : evt.which;
controllerKey.push(code);
}
[...]
然后,我将我的controllerKey与我的字符串“HELLO”(感谢str.charCodeAt())和其他一些东西进行比较,但这在这里并不重要。 此时一切正常。
当我想匹配“HeLLo”时(事实上当字符串有一些大写)时,我的问题就会发生。我在论坛上看到keyup或keydown没有任何区别。
所以我使用按键来管理它很好,但是按键不允许我匹配箭头键和一个(在Chrome中)。
我想知道是否可以将keypress和keyup结合起来(仅当keypress与事件不匹配时)。
提前致谢。
答案 0 :(得分:10)
你可以像这样组合它们:
$(window).on('keyup keypress', function(e) {
if (e.type=="keyup") {
} else {
// it is keypress
}
});
答案 1 :(得分:2)
您可以使用隐藏输入和关键事件,以便进行跨浏览器区分大小写的比较。