kel*_*dar 9 javascript jquery onkeyup keyup ios9
是否有其他人keyup在iOS 9 中遇到问题没有解雇?
只是一个简单的测试床为我复制了这个问题.
<input id="txtInput" />
Run Code Online (Sandbox Code Playgroud)
香草JS:
document.getElementById('txtInput').onkeyup = function () {
console.log('keyup triggered');
}
Run Code Online (Sandbox Code Playgroud)
jQuery的:
$('#txtInput').on('keyup', function () {
console.log('keyup triggered');
});
Run Code Online (Sandbox Code Playgroud)
既不火......
这并不漂亮,但解决方法是绑定到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);
});
}());
Run Code Online (Sandbox Code Playgroud)
如果您键入“a”,则会发生以下情况:
keydown火灾。e.keyCode设置为按下的键的 ASCII 值。this.value是''(即与键入“a”之前相同)。input火灾。e.keyCode是undefined。this.value是'a'。input如果按下 Enter (13) 键,您还可以手动触发事件;input默认情况下,此键不会触发。
| 归档时间: |
|
| 查看次数: |
8716 次 |
| 最近记录: |