当用户按下回车键时,是不是有另一种方法可以在移动 Safari(iOS 上)上触发自动更正/自动完成?
Posted
技术标签:
【中文标题】当用户按下回车键时,是不是有另一种方法可以在移动 Safari(iOS 上)上触发自动更正/自动完成?【英文标题】:Is there an alternate way to trigger autocorrect/autocomplete on mobile Safari (on iOS) when the user presses enter?当用户按下回车键时,是否有另一种方法可以在移动 Safari(iOS 上)上触发自动更正/自动完成? 【发布时间】:2013-04-02 22:44:39 【问题描述】:我知道当用户按下回车键时,浏览器通常会自行处理自动更正/大写等。但是我正在使用 contenteditable 属性并对“enter”进行一些特殊处理,这需要我在用户按下 enter 时使用 evt.preventDefault() 。由于我在侦听器中使用了 preventDefault() ,因此移动 Safari 会打开自动更正气泡,并且看起来很时髦/无法使用。是否有任何替代方式(可能使用 JS 触发事件)来消除气泡或触发正常行为而无需取出 preventDefault?
我不想摆脱自动更正功能,因为它对我的应用程序很重要。
【问题讨论】:
更一般地说,当 ios 在屏幕上显示建议的输入值自动更正时,有没有办法在自动更正后获取值以在 javascript 中使用? 您可以在 contenteditable div 中使用onfocus
onblur
等。
【参考方案1】:
应该有示例代码!但我想你说的是这样的:
$("#myForm").submit(function(event)
event.preventDefault();
// Do other stuff
);
所以我很确定您可以手动触发 .blur
-event,它可以触发自动完成功能:
$("#myForm #myInput").blur();
如果此答案有误,请提供示例代码 - *** 上并非所有人都是魔术师。
【讨论】:
我不知道原始海报的代码是什么样的,但如果我有一个带有event.preventDefault
调用的keypress
处理程序,那么在blur
之前添加一个blur
不会不要给我正确的文本:jsfiddle.net/LGWrJ【参考方案2】:
我会说它很容易设置焦点, 与之前与提交一起使用的答案相比,自动行为将继续自动更正..
$("#MyInput").focus(function(event)
event.preventDefault();
);
$("#MyInput").blur() // do events you want on focus lost.. from input.. :)
);
我觉得这样就可以了..
【讨论】:
以上是关于当用户按下回车键时,是不是有另一种方法可以在移动 Safari(iOS 上)上触发自动更正/自动完成?的主要内容,如果未能解决你的问题,请参考以下文章
您如何更新priority_queue中的值,或者是不是有另一种方法可以在c ++中更新堆中的键
是否有另一种方法可以从 Spring MVC 中的 HttpServletRequest 对象获取用户的时区? [复制]
QT 没有 QTNetworkManager 是不是有另一种加载图像的方法?
SQL-'08:多个 Replace 语句是一种不好的做法/是不是有另一种方法来编写此查询?