div标签改写textarea,实现部分文本内容标红

这篇具有很好参考价值的文章主要介绍了div标签改写textarea,实现部分文本内容标红。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、 标签添加contenteditable属性让文本可编辑

	contenteditable: "inherit";(默认)
	contenteditable: "plaintext-only";(输入纯文本) // 改写textarea可使用
	contenteditable: "true"; // 改写textarea可使用
	contenteditable: "false";
	contenteditable: "caret";(符号)
	contenteditable: "events";

示例

<div contenteditable="true">可编辑区域</div>

2、div获得焦点

div本来是没有focus和blur事件的,正常情况下无法获得焦点,解决方案如下:

<div tabindex="0"></div>

如果用div来模拟一个texarea标签,同时需要它和texarea一样响应focus和blur事件,就需要给他加上attribute:tabindex;
只要元素的tabIndex属性设置成任何有效的整数那么该元素就能取得焦点。元素在取得焦点后就能触发onblur,onfocus,onkeydown, onkeypress和onkeyup事件。

不同tabindex值在tab order(Tabbing navigation)中的情况:

  • tabIndex值是正数的对象根据递增的值顺序和代码中的位置顺序来被选择
  • tabIndex值是0的对象根据在代码中的位置顺序被选择
  • tabIndex值是负数的对象会被忽略

3、添加样式

<div class="textarea" contenteditable="plaintext-only" placeholder="请输入文本内容"></div>
.textarea {
    width: 400px;
    height: 100px;
    padding: 5px;
            
    /*给div添加可以调整控制盒子大小的属性*/
    resize: both;
    overflow: auto;
            
    border: 1px solid #ccc;
           
    display: block;
    box-sizing: border-box;
            
    font-size: 12px;
    outline: none;
}
 /* 输入框为空时显示 placeholder */
 .textarea:empty:before {
	content: attr(placeholder);
	color: #bfbfbf;
 }
 /* 输入框获取焦点时移除 placeholder */
 .textarea:focus:before {
	content: none;
}

div标签改写textarea,实现部分文本内容标红,javascript,前端,html5

4、部分文本颜色标红

<div class="textarea" tabindex="0" contenteditable="plaintext-only" placeholder="请输入文本内容" onblur="handleTextBlur"></div>
handleTextBlur() {
    let val = document.querySelector('.textarea').textContent
    if(val){
        if(val.includes('输入')){
             let newVal = val.replace('输入',`<span style="color:red;">输入</span>`)
             document.querySelector('.textarea').innerHTML = newVal
        }
    }
}

div标签改写textarea,实现部分文本内容标红,javascript,前端,html5文章来源地址https://www.toymoban.com/news/detail-797040.html

到了这里,关于div标签改写textarea,实现部分文本内容标红的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【HTML】标签读取富文本编辑器的内容

    1.正确读取富文本内容示例: 代码:  显示结果:  在这个例子中, {$row.content}  是直接输出从数据库中获取的富文本内容,包括可能存在的HTML标签和属性,这样可以确保富文本能够按照预期样式呈现。 2. 错误读取富文本内容示例及其原因分析:  代码:  显示结果: 分析

    2024年02月02日
    浏览(49)
  • 织梦dedecms富文本内容中屏蔽标签实例代码

    文章的body字段屏蔽a标签和iframe标签 以下是过滤其他标签的正则表达式 大家可以在本地尝试下小编已经成功了,希望我们整理的内容能够帮助到大家。

    2024年02月03日
    浏览(35)
  • selenium无法获取到标签的文本内容(text)的解决方法

    在我们使用selenium进行抓取网页的时候,可能有的时候会抓取不到内容。 例如:driver.find_element_by_xxx().text() 为空的解决办法    在用driver.find_element_by_xxx().text()获取文本的时候,得到的文本为空, 那么当前定位的元素可能被隐藏了。 我们先查看当前的元素的原始代码   我们

    2023年04月11日
    浏览(42)
  • 【正则表达式】获取html代码文本内所有<script>标签内容

    一. 背景 之前要对学生提交的html代码进行检查,在获取了学生提交的html代码文本后,需要使用正则去截取内部的script标签内容做进一步的检查。 假设得到html文本如下(不是代码),我们要得到全部的script标签内容并提取出来。 看上去不难,但是实际操作起来有一定的坑,

    2024年01月17日
    浏览(51)
  • Div标签里放img和span标签实现垂直水平居中

    正常默认布局 代码实现: 效果图如下:  我们首先 实现 span标签的文字在图片旁边垂直居中,这里有两种方法实现 方法一:在只考虑span文字在图片旁边垂直居中时推荐使用 给img和span标签的css样式都加上vertical-align: middle 代码实现: 效果图如下:   方法二:利用flex布局(

    2023年04月15日
    浏览(41)
  • H5: div与textarea输入框的交互(聚焦、失去焦点、键盘收起)

    本文是基于 VUE3+TS 的代码说明。 记录自己遇到的 div 与 textarea 输入框交互的聚焦、失去焦点、键盘收起、表情插入不失去焦点的需求实现。 1.固定在页面底部; 2.默认显示纯文字与发送图标按钮,文字超出的省略显示; 3.点击文字后,显示文本输入框、表情、半透明遮罩层,

    2024年02月12日
    浏览(48)
  • HTML的span标签的作用是什么?答:对文本内容进行精细的样式化和标记。

    当谈到HTML中的 span 标签时,它是一个非常基本且灵活的内联元素。它通常用于在文本中应用样式、添加额外的语义或将特定部分标记为一个单独的区域。 span 标签本身并不会给其中的内容带来任何视觉上的变化,但它可以与CSS一起使用,从而允许您对其内容进行样式化。 以

    2024年02月10日
    浏览(37)
  • HTML <textarea> 标签

    textarea 标签定义多行的文本输入控件。 文本区中可容纳无限数量的文本,其中的文本的默认字体是等宽字体(通常是 Courier)。 可以通过 cols 和 rows 属性来规定 textarea 的尺寸,不过更好的办法是使用 CSS 的 height 和 width 属性。 注释:在文本输入区内的文本行间,用 \\\"%OD%OA\\\" (

    2024年02月10日
    浏览(39)
  • uni-app开发微信小程序,textarea组件宽度设置,解决超出父级div

    当我们使用textarea组件时,会出现设置宽度100%,但其超出了父级Div,如下图 添加 box-sizing:border-box; 属性,即可完美解决。 box-sizing 属性定义如何计算一个元素的总宽度和总高度,主要设置是否需要加上内边距(padding)和边框等。 例如,假如您需要并排放置两个带边框的框,可通过将

    2024年03月13日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包