我正在尝试开发一个 jQuery 插件,以便在用户输入特定的关键短语时执行操作。
例如,我想在键盘上匹配“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与事件不匹配时)。
提前致谢。
你可以像这样组合它们:
$(window).on('keyup keypress', function(e) {
if (e.type=="keyup") {
} else {
// it is keypress
}
});
您可以使用隐藏输入和按键事件以便进行跨浏览器区分大小写的比较。
您可以使用
oninput
事件实例 keyup keydown
:
JQuery:
$(input).input(function(){ ...
javascript:
input.addEventListener("input", function (event) { ...