css悬浮在某个span后面,在contenteditable div中的span元素后面设置光标
4 个答案:
答案 0 :(得分:19)
在IE< = 8以外的浏览器中,这样做:
function placeCaretAfterNode(node) {
if (typeof window.getSelection != "undefined") {
var range = document.createRange();
range.setStartAfter(node);
range.collapse(true);
var selection = window.getSelection();
selection.removeAllRanges();
selection.addRange(range);
}
}
但是,某些浏览器(特别是基于WebKit的浏览器)已经确定了文档中哪些位置对插入符号有效,并将规范化您添加到选择中的任何范围以符合这些想法。以下示例将在Firefox和IE 9中执行您想要的操作,但不会在Chrome或Safari中执行此操作:
没有一种解决方法是好的。选项包括:
在范围后添加零宽度空格字符并选择它
使用元素而不是因为WebKit使
答案 1 :(得分:3)
这个功能管理我的想法:
function pasteHtmlAtCaret(char) {
var sel = rangy.getSelection();
var range = sel.rangeCount ? sel.getRangeAt(0) : null;
var parent;
if (range) {
var parentEl = document.createElement("span");
jQuery(parentEl).addClass('char').addClass('latest');
parentEl.appendChild(range.createContextualFragment(char));
// Check if the cursor is at the end of the text in an existing span
if (range.endContainer.nodeType == 3
&& (parent = range.endContainer.parentNode)
&& (parent.tagName == "SPAN")) {
range.setStartAfter(parent);
}
range.insertNode(parentEl);
if(jQuery(parentEl).parent().get(0).tagName.toLowerCase() == 'span'){
var spanParent = jQuery(parentEl).parent('span');
var parentEl = jQuery('').insertAfter(spanParent).append(parentEl).get(0);
}
jQuery("span.spanchild").each(function(index, element){
var content = jQuery(element).children('span.char').first().html();
jQuery(element).children('span.char').remove();
jQuery(element).html(content);
jQuery(element).removeClass('spanchild');
});
range.setStartAfter(parentEl);
rangy.getSelection().setSingleRange(range);
jQuery(parentEl).removeClass('latest');
}
}
答案 2 :(得分:3)
只是span.contentEditable = false让蒂姆的解决方案正常工作;)
答案 3 :(得分:0)
我设法使用带有 的'a'标记解决了这个问题。
示例: - ""+ content/element you want to add +" "
css悬浮在某个span后面,在contenteditable div中的span元素后面设置光标相关推荐
- js添加html换行符,javascript – 在contenteditable div中的输入键上插入换行符
我试图插入一个换行符,而不是当我在一个contenteditable div中输入时浏览器想要插入的内容. 我当前的代码看起来像这样: if (e.which === 13) { e.stopProp ...
- html中span标签字数大小,DIV字体大小 span字体大小 font-size样式
DIV内字体大小,DIV内文字大小设置,div font-size字体大小布局篇,同时扩展到span字体大小,等标签内字体大小设置布局教程 设置对象DIV字体大小或span字体大小设置有两种方法,一种 ...
- js中html标签变文字颜色,javascript – 更改contenteditable div中文本的颜色
您可以使用HTML编辑API来处理此类用例.参考这里: https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html 简而言之,使用execComm ...
- html div数据替换,在contenteditable div中替换innerHTML
小编典典 问题在于,Rangy的保存/恢复选择模块通过将不可见的标记元素插入到选择边界所在的DOM中来工作,然后您的代码会去除所有HTML标签,包括Rangy的标记元素(如错误消息所示).您有两种选择 ...
- div中的span水平居中
给div设置以下样式就可以 div{text-align: center }
- HTML如何修改span里面的字体颜色,怎么用span css设置div内部分字体颜色?
本篇文章给大家带来的内容是关于怎么用span css设置div内部分字体颜色,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 用span标签设置div内放一段文字中的部分文字字体颜色方 ...
- [19/06/05-星期三] CSS基础_样式表的位置(内联、内部、外部样式)、块元素(div)、内联元素(span)、常用的选择器...
一.概念 CSS(Cascading Style Sheets,层叠样式表) 可以用来为网页创建样式表,通过样式表可以对网页进行装饰. 所谓层叠,就是可以将整个网页想象成是一层一层的结构,层次高的将会 ...
- html代码字号div style=,div字体大小设置 css设置div中字体大小尺寸样式
div字体大小设置 css设置div中字体大小尺寸样式设置篇 在css div布局中常常对div字体大小设置,这篇ThinkCSS为大家介绍div中字体大小尺寸样式设置,通过直接在div标签加字体大小 ...
- div怎么在css中设置字体大小,div字体大小设置 css设置div中字体大小尺寸样式
div字体大小设置 css设置div中字体大小尺寸样式设置篇 在css div布局中常常对div字体大小设置,这篇ThinkCSS为大家介绍div中字体大小尺寸样式设置,通过直接在div标签加字体大小 ...
最新文章
- 为你分享10篇NLP、CV领域优质论文
- 人工机器:TM、VNM和NTM的内存机制
- JavaCL 1.0.0-RC3 发布,性能大幅提升
- 如何实现动态水球图 --》 echars结合echarts-liquidfill实现
- mysql 事b务 查询_MySQL进阶学习笔记二(包括连接查询、子查询、联合查询、事务、存储过程)...
- 使用Free Spire.Presentation生成PowerPoint文件
- 面试技巧,如何通过索引说数据库优化能力
- img的属性alt 与 title的区别
- 定点运算之补码一位乘法(Booth算法)
- PV、UV、IV的概念
- AI如何修改画布尺寸? ai怎么设置画布大小_AI教程自学网
- Android强制竖屏
- Unity 版本更新
- 主动求变,苏宁易购如何破局2022?
- 在Windows下编写的代码,实时在Linux下编译
- Git 强制更新覆盖本地代码
- pythonwith open 打开多个文件_Python中使用with语句同时打开多个文件
- Linux ffmpeg命令的使用
- crux系列写作-篇首
- 在yolo训练的时候又去测试就会报错:cuda error: out of memory