关注可信赖的div / Summernote

时间:2016-07-11 12:07:41

标签: javascript jquery html contenteditable summernote

我正在使用Summernote但复制了媒体编辑器。

插入图像时,我只允许将它们插入到自己的段落标记中。没有文字可以在带有图像的侧段标签中混合。

我在每个段落中都有一个图像,其中有一个' has-image'。我现在想要做的就是不允许用户在段落中输入任何文本(如果它有该类)。

如果他们试图点击标签内部,则会转而关注下一段。

任何帮助如何做到这一点?我试过触发下一段的点击,但没有运气:

$(document).on('click', '.has-image', function() {
    $(this).next('p').click();
});

我可以设置下一段的文字,所以我知道它的选择很好,但是想不出实际将光标放在里面的方法。

JSFiddle例如:http://jsfiddle.net/vXnCM/5583/

1 个答案:

答案 0 :(得分:1)

你可能需要使用Range

$(document).on('click', '.has-image', function() {

    r = document.createRange()
    r.setStart($(this).next('p')[0],0);
    window.getSelection().removeAllRanges();
    window.getSelection().addRange(r);
});

注意:它仅适用于IE以外的大多数现代浏览器。

对于IE功能,请检查https://code.google.com/archive/p/ierange/