使用第三方 IME 时,JS keydown keyup keypress 事件在 IOS8 上不起作用
JS keydown keyup keypress event doesn't work on IOS8 when using third party IME
$(window).keypress(function(event) {
alert(event.which);
}
在 IOS 7 上,这在使用系统默认 IME 时有效,但在使用第三方 IME 时无效。第三方 IME 似乎没有发送 keydown/keyup/keypress 事件。
是否有任何解决方法来监视按下的 Enter 键?
P.S。此问题类似于 iOS 8 3rd party keyboards don't register javascript/jQuery keyup, keypress, keydown etc,但是否有任何解决方法来监视 'Enter' 按键事件?
我找到解决方法
$("#textarea").on('input propertychange paste',function(e){
var input = e.currentTarget.value;
if(input[input.lenght -1] == '\n') {
//do something
}
})
- 使用textarea代替input
- 在 textarea 上添加 'input propertychange paste' 侦听器
- 检查 Enter 是否是文本区域值的最后一个字符
$(window).keypress(function(event) {
alert(event.which);
}
在 IOS 7 上,这在使用系统默认 IME 时有效,但在使用第三方 IME 时无效。第三方 IME 似乎没有发送 keydown/keyup/keypress 事件。
是否有任何解决方法来监视按下的 Enter 键?
P.S。此问题类似于 iOS 8 3rd party keyboards don't register javascript/jQuery keyup, keypress, keydown etc,但是否有任何解决方法来监视 'Enter' 按键事件?
我找到解决方法
$("#textarea").on('input propertychange paste',function(e){
var input = e.currentTarget.value;
if(input[input.lenght -1] == '\n') {
//do something
}
})
- 使用textarea代替input
- 在 textarea 上添加 'input propertychange paste' 侦听器
- 检查 Enter 是否是文本区域值的最后一个字符