当用户按下回车键时,是否有另一种方法可以在移动Safari(在iOS上)上触发自动更正/自动完成?

时间:2013-04-10 21:38:52

标签: javascript ios mobile-safari contenteditable autocorrect

我知道当用户按下回车键时,浏览器通常会自行处理自动更正/大写/等。但我正在使用contenteditable属性并对“enter”进行一些特殊处理,这需要我在用户按Enter键时使用evt.preventDefault()。由于我在我的监听器中使用了preventDefault(),因此移动safari会将自动更正的气泡打开,并且看起来非常时髦/无法使用。是否有任何替代方法(可能使用JS来触发事件)来解除气泡或触发正常行为而不必取出preventDefault?

我不想摆脱自动更正功能,因为它对我的应用程序很重要。

2 个答案:

答案 0 :(得分:0)

应该有示例代码!但我认为你谈的是这样的:

$("#myForm").submit(function(event) {
    event.preventDefault();
    // Do other stuff
});

所以我很确定你可以手动触发.blur - 事件,这可能触发自动完成功能:

$("#myForm #myInput").blur();

如果这个答案有误,请提供示例代码 - 并非Stackoverflow上的每个人都是魔术师。

答案 1 :(得分:0)

我会说它很容易用焦点设置, 与之前使用提交的答案相反,自动行为将继续自动纠正..

$("#MyInput").focus(function(event){
    event.preventDefault();
});
$("#MyInput").blur(){ // do events you want on focus lost.. from input.. :)
});

我认为这样做..