Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 当用户按enter键时,是否有其他方法在mobile Safari(iOS)上触发自动更正/自动完成?_Javascript_Ios_Mobile Safari_Contenteditable_Autocorrect - Fatal编程技术网

Javascript 当用户按enter键时,是否有其他方法在mobile Safari(iOS)上触发自动更正/自动完成?

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触发事件)来消除气泡或触发正常行为,而不必删除默认值 我不想放弃自动更正功能,因为它对我的应用程序很重要。应该

我知道,当用户按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
不会得到正确的文本: