是否还有其他人对keyup 9中的iOS事件有问题而不触发?
只是一个简单的测试床为我复制了这个问题。
<input id="txtInput" />Vanilla JS:
document.getElementById('txtInput').onkeyup = function () {
console.log('keyup triggered');
}jQuery:
$('#txtInput').on('keyup', function () {
console.log('keyup triggered');
});也不是火..。
发布于 2015-10-16 15:45:02
这不是很好,但是需要绑定到keydown以捕获按下哪个键,如果您想获得值,包括键入的键,则是input:
(function () {
var keyCode;
$('#txtInput')
.on('keydown', function (e) {
// value not updated yet
keyCode = e.keyCode;
// Enter key does not trigger 'input' events; manually trigger it
if (e.keyCode === 13) $(this).trigger('input');
})
.on('input', function (e) {
console.log(keyCode, this.value);
});
}());如果键入“a”,则会发生以下情况:
keydown火灾。e.keyCode设置为按下的键的ASCII值。this.value是'' (即在输入'a‘之前相同)。input火灾。e.keyCode是undefined。this.value是'a'。如果按下enter (13)键,还可以手动触发input事件;默认情况下,此键不会触发input。
发布于 2016-03-08 20:22:16
我建议在带有触摸屏的浏览器上使用keypress事件。不过,我知道你不能真正探测到触摸屏,所以它给您留下了一些可能由您的情况决定的选项。
keyup和keypress。这很可能取决于正在进行的处理量,以及在某些浏览器中是否会出现双激发。change )。无论哪种情况,最终都会有两个事件侦听器。
发布于 2017-08-30 12:32:48
$('#yourid').bind('keypress', function(e) {
// This will work
});https://stackoverflow.com/questions/33152960
复制相似问题