8

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

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

4

2 回答 2

0

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

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

我想这会做..

于 2013-08-13T11:39:30.960 回答
0

应该有示例代码!但我认为您谈论的是这样的事情:

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

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

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

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

于 2013-08-12T14:07:29.807 回答