草庐IT

contenteditables

全部标签

javascript - 替换 contenteditable 中的特定单词

我有一个contenteditable的div我需要从插入符位置获取最后一个词,并且在某些情况下我必须测试并只删除这个特定的词。以下是我的表现$('#divTest').on('keyupfocus',function(e){if(e.keyCode==32){varlastWord=getWordPrecedingCaret(this),spanLastWord=$('#lastWord');}});functiongetWordPrecedingCaret(containerEl){varpreceding="",sel,range,precedingRange;if(window

javascript - 为什么 React 会针对具有由 React 管理的子项的 contentEditable 组件发出警告?

我在渲染我的组件时收到以下警告:Warning:AcomponentiscontentEditableandcontainschildrenmanagedbyReact.Itisnowyourresponsibilitytoguaranteethatnoneofthosenodesareunexpectedlymodifiedorduplicated.Thisisprobablynotintentional.这是我的组件:importReact,{Component}from"react";exportdefaultclassEditableextendsComponent{rende

javascript - 当我点击空格时,Contenteditable 添加了一个 <br>

我不确定为什么,但如果你有一个启用了contenteditable的元素,当你第一次输入空格时,它会附加一个标记到元素中。如果元素中默认有一个空格(thisisatest),那没问题,但是只要用户点击那个空格键(甚至复制+粘贴一个空格字符),Firefox就会添加一个到.有没有人知道原因或简单的解决方法?这是我第一次玩contenteditable,所以很多东西对我来说都是新的。目前,我正在使用$('br').remove()这似乎有效,但如果有人知道的话,我希望得到解释和正确的预防方法。 最佳答案 我今天遇到了这个,也不知道为什么

javascript - 在 contenteditable 插入符位置占 `<br>` s

为了获取和设置contenteditable元素中的插入符位置,我尝试了来自thisanswer的代码,但当您移动到不同的文本节点时,开始和结束位置会重置。0123459012345因此,我修改了thisanswer中的代码(来自@TimDown)但它仍然不完全正确计算换行符......在thisdemo,当我点击4之后然后按三下右箭头,我会看到开始/结束报告为5,6,然后8.或者,使用鼠标从4中选择在第一行并继续向右选择(参见gif)这是代码(demo;尽管看起来像,但未使用jQuery)functiongetCaret(el){letstart,end;constrange=doc

javascript - 在不使用 contenteditable 的情况下防止选择在 Firefox 的 iframe 中变灰

在Firefox3及更高版本(可能还有更旧的版本)中,在iframe中选择内容似乎总是使用灰色选择背景颜色,用于当前没有焦点的文档,即使iframe确实有焦点。我能找到的唯一异常(exception)是iframe中的内容是可编辑的。这在其他浏览器中并非如此。这是一个说明这一点的例子:http://jsfiddle.net/97Vjz/不幸的是,这会阻止使用::-moz-selection在iframe中设置选择样式CSS伪元素,因为它只适用于非灰色选择:http://jsfiddle.net/YYXSY/1/我的问题是:不使用contenteditable/designMode是否可

javascript - 如何模糊 contentEditable=true 的 div?

我如何模糊/聚焦contentEditable=true的div?我尝试了$(elm).blur()和$(elm).attr('contentEditable',false); 最佳答案 我会添加另一个基于Omnicon正确答案的解决方案。我有forkedhisfiddleandupdatedit.诀窍是在调用blur后删除所有范围:$(".editable").blur();window.getSelection().removeAllRanges(); 关于javascript-如何

javascript - 保存和恢复 contentEditable div 的插入符号位置

我有一个contentEditablediv,它的innerHTML可以在编辑时通过AJAX更新。问题是,当您更改div的内容时,它会将光标移动到div的末尾(或失去焦点,具体取决于浏览器)。在更改innerHTML之前存储插入符位置然后恢复它的跨浏览器解决方案是什么? 最佳答案 回到2016年:)在我遇到这里的解决方案之后,它们并不适合我,因为每次输入后我的DOM都被完全替换了。我做了更多研究,并提供了一个简单的解决方案,该解决方案按Angular色的位置保存光标,这对我来说完美。这个想法很简单。找出插入符前字符的长度并保存。更改

JavaScript 'contenteditable' -- 获取/设置插入符位置

我已经阅读了一些关于定位插入符的帖子,但似乎没有一个能回答我的特定问题。我有2个div(div1和div2)div1=不可编辑的divdiv2=contenteditablediv两个div包含完全相同的内容当用户点击div1时,它会被隐藏,而div2会出现在准确的位置,用户可以编辑问题:我希望插入符像div1一样出现在div2上的确切位置所以,我需要一些方法来读取用户点击div1的位置,然后当div2出现时将光标/插入符放在同一位置,所以getCaretLocation(in_div_id)和setCaretLocation(in_div_id)函数集。有什么办法吗?谢谢-

javascript - 在 contentEditable 元素上拖放

互联网上有许多所见即所得的编辑器,但我还没有找到一个实现某种形式的拖放操作的编辑器。创建自己的编辑器很容易,但我希望用户能够从可编辑区域外部拖动元素(即标记)并将其放在可编辑区域内他们选择的位置。在可编辑元素的特定位置插入html很容易,但是当用户将DIV拖到可编辑区域中的某个元素上时,如何确定插入符号的位置。为了更好地说明我要解释的内容,请参阅以下场景。可编辑区域(编辑模式下的IFRAME或contentEditable属性设置为true的DIV)已包含以下文本:“亲爱的,请注意……”用户现在将表示元素列表中某些标记的元素拖到可编辑区域上方,将光标移到文本上方,直到插入符号出现在文本

javascript - Jquery/Javascript - 在 contentEditable 区域中作为用户类型突出显示的语法

我正在我的网站上开发一个contentEditable区域,用户可以在其中互相输入消息。Usertypeshere...事情是,我们将在里面有智能文本,这意味着如果用户在这个div中键入@usersame,如果@username应该以蓝色突出显示用户名存在,如果他不存在则为绿色。当然,所有这一切都应该在用户输入时发生......我不知道从哪里开始,现在我有这个:$("body").on("keyup",".smartText",function(){var$this=$(this),value=$this.html(),regex=/[^>]#\S+[^]/gim;value=valu