使用拼写检查复制在contenteditable <div>中单击

时间:2016-11-11 02:15:45

标签: javascript jquery

除非用户点击<div>,否则Chrome的原生拼写检查不会对可信任的<div>有效,这是有道理的。但是,如果我动态添加一个有意义的<div>,有没有办法复制用户点击<div>&gt;这样拼写检查会起作用吗?我尝试使用jQuery:

 $('#div-id').click();

 $('#div-id').trigger('click');

但这些都行不通。有帮助吗? jQuery或JavaScript适用于我。

1 个答案:

答案 0 :(得分:2)

正如提到的评论一样,以编程方式将焦点放在元素上将有助于启用拼写检查。但由于焦点现在被改为另一个元素,这可能是不可取的。所以这是一个完整的解决方案(不使用jQuery,但仍然可以使用它):

var oldFocus = document.activeElement;

div.focus();

if (oldFocus) {
    oldFocus.focus();
} else {
    div.blur();
}

这会在聚焦div之前保存先前聚焦的元素,以便启用拼写检查。然后,焦点返回到旧元素(如果有一个已经有焦点),否则它没有任何焦点。