Javascript 当用户按enter键时,是否有其他方法在mobile Safari(iOS)上触发自动更正/自动完成?
我知道,当用户按enter键时,浏览器通常会自行处理自动更正/大写等操作。但是我正在使用contenteditable属性并对“enter”进行一些特殊处理,这要求我在用户按下enter键时使用evt.preventDefault()。由于我在监听器中使用了preventDefault(),mobile safari打开了自动更正气泡,它变得非常时髦/不可用。是否有其他方法(可能使用JS触发事件)来消除气泡或触发正常行为,而不必删除默认值Javascript 当用户按enter键时,是否有其他方法在mobile Safari(iOS)上触发自动更正/自动完成?,javascript,ios,mobile-safari,contenteditable,autocorrect,Javascript,Ios,Mobile Safari,Contenteditable,Autocorrect,我知道,当用户按enter键时,浏览器通常会自行处理自动更正/大写等操作。但是我正在使用contenteditable属性并对“enter”进行一些特殊处理,这要求我在用户按下enter键时使用evt.preventDefault()。由于我在监听器中使用了preventDefault(),mobile safari打开了自动更正气泡,它变得非常时髦/不可用。是否有其他方法(可能使用JS触发事件)来消除气泡或触发正常行为,而不必删除默认值 我不想放弃自动更正功能,因为它对我的应用程序很重要。应该
我不想放弃自动更正功能,因为它对我的应用程序很重要。应该有示例代码但我想你是这样说的:
$("#myForm").submit(function(event) {
event.preventDefault();
// Do other stuff
});
因此,我非常确定您可以手动触发-事件,从而触发自动完成功能:
$("#myForm #myInput").blur();
如果这个答案是错误的,请提供示例代码-并不是Stackoverflow上的每个人都是魔术师。我会说焦点设置很简单, 与上一个使用提交的答案不同,自动行为将继续自动更正
$("#MyInput").focus(function(event){
event.preventDefault();
});
$("#MyInput").blur(){ // do events you want on focus lost.. from input.. :)
});
我想这样就可以了。更一般地说,当iOS在屏幕上显示输入值的建议自动更正时,有没有办法在javascript中使用自动更正后获得值?您可以在contenteditable div中使用
onfocus
onblur
等。我不知道原始海报的代码是什么样子,但是,如果我有一个带有事件.preventDefault
调用的keypress
处理程序,在事件之前添加一个blur
。preventDefault
不会得到正确的文本: