需求:利用highlight.js对文本框中的内容进行高亮显示

1.highlight.js使用

js中:<script src="js/highlight/highlight.pack.js"></script>

  <script type="text/javascript">

    hljs.initHighlightingOnLoad();//SQL高亮显示

    $(document).ready(function() {

      $("pre code").each(function(i, block) {

        hljs.highlightBlock(block);

      });

    });

  </script>

html中:<pre> <code class="lang-javascript"> 内容</code> </pre>

2.highlight.js应用于<textarea>无效,因而用 div模拟文本框textarea

无效示例:<pre>

       <code>

          <textarea id="sql" rows="14" cols="80" name="sqlStatement">

            <s:property value="udq.sqlStatement"/>

          </textarea>
                        </code>

     </pre>

有效div模拟文本框:<div id="sql"  contenteditable placeholder="请输入文字">

           <pre>

            <code>

              <s:property value="udq.sqlStatement"/>

            </code>

           </pre>
                          </div>

对于<pre><code>中的内容不随div的宽度换行问题,应用css样式:

  white-space: pre-wrap;
  word-wrap: break-word;

其中:介绍下HTML5里contenteditable属性:(参考https://w3c.github.io/editing/contentEditable.html#contenteditable

它主要的属性值有:

  1. contenteditable="inherit"
  2. contenteditable=""
  3. contenteditable="events"
  4. contenteditable="caret"
  5. contenteditable="typing"
  6. contenteditable="plaintext-only"
  7. contenteditable="true"
  8. contenteditable="false"

其实在模拟文本框时,常用的就是"plaintext-only"、"true","plaintext-only"可以实现可以让编辑区域只能键入纯文本

其实css中有一个属性(user-modify)也能实现让元素内只能输入纯文本,但是由于目前好像只有webkit内核支持(-webkit-),所以效果没上面好。

div模拟文本框textarea的更多相关文章

  1. easyUI draggable插件使用不当,导致拖动div内部文本框无法输入;设置echarts数据为空时就显示空白,不要动画和文字

    先上一个Demo <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://ww ...

  2. 禁止多行文本框textarea拖拽

    禁止多行文本框textarea拖拽: textarea { resize: none; } resize这个是用于元素缩放,它可以取以下几个值: none 默认值 both 允许水平方向及垂直方向缩放 ...

  3. CodeMirror编辑器文本框Textarea代码高亮插件,CodeMirror的简单实用例子

    CodeMirror是一个用于编辑器文本框textarea代码高亮javascript插件,为各种编程语言实现关键字,函数,变量等代码高亮显示,丰富的api和可扩展功能以及多个主题样式,能满足您各种项 ...

  4. 【CSS】隐藏多行文本框Textarea在IE中的垂直滚动栏

    在<[CSS]禁止Google浏览器同意定义调整多行文本框>(点击打开链接)中已经提及过怎样使多行文本框Textarea在一些DOM2的浏览器中固定下来. 这不,多行文本框Textarea ...

  5. JS控制文本框textarea输入字数限制

    <html> <head> <title>JS限制Textarea文本域字符个数</title> <meta http-equiv="C ...

  6. jquery文本框textarea自适应高度

    浏览器中默认的文本框是不能根据内容的增多变高,只能固定高度有滚动条,体验不是很好,找了很多方法兼容都不行,总算找到个兼容良好的方法: <body> <textarea id=&quo ...

  7. HTML中的文本框textarea标签

    转自:https://www.jb51.net/web/183411.html <textarea></textarea>用来创建一个可以输入多行的文本框,此标志对用于< ...

  8. 隐藏div,文本框角圆滑,消除外边框

    #div_1 /*将div设置完成,并且隐藏,当需要的时候对其属性值进行修改*/ { height: 36px; width: 1099px; background-color: #F0DFDF; m ...

  9. 文本框 textarea 动态显示行数(简单文本编辑器)

    工作需求做一个文本编辑器简单的. 右边输入文字,左边会显示相应的代码行.清空也会变为1. 废话不多说上代码,自己理解. <style type="text/css"> ...

随机推荐

  1. Centos7 创建内部的yum源

  2. 帮助Bsny(乱搞做法)

    帮助Bsny 题目描述 Bsny的书架乱成一团了,帮他一下吧! 他的书架上一共有n本书,我们定义混乱值是连续相同高度书本的段数.例如,如果书的高度是30,30,31,31,32,那么混乱值为3:30, ...

  3. 用Java实现图片验证码功能

    一.什么是图片验证码? 可以参考下面这张图: 我们在一些网站注册的时候,经常需要填写以上图片的信息. 1.图片生成实体类: package com.hexianwei.graphic; import ...

  4. AtomicReference

    public class AtomicReference<V> implements java.io.Serializable { private static final long se ...

  5. centos7安装pip

    转自:https://www.cnblogs.com/mangoVic/p/6428369.html 默认情况下,centos7是没有pip的,可以通过如下命令安装 首先安装epel扩展源: yum ...

  6. 2018.6.10数据结构串讲_HugeGun

    链接: https://pan.baidu.com/s/1uQwLZAT8gjENDWLDm7-Oig 密码: mk8p @echo off : ) shuju test test_ fc test. ...

  7. 6.JAVA基础复习——JAVA中文档注释与帮助文档的生成

    java中的文档注释:用于说明该类的功能作用方便他人使用关键词前需要加@符 用于类的注释 @author name 作者 @version v1.0 版本 …… 用于函数的注释 @param para ...

  8. Linux笔记 #10# 用于支持Web应用开发&部署&配置的一些自定义脚本

    索引 一.本地开发与测试相关脚本 1.startup.sh 2.shutdown.sh 3.catalina-out.sh 4.localhost_access_log.sh 5.上传本地文件到服务器 ...

  9. Task: Indoor Positioning with WiFi Signals

    Task: Indoor Positioning with WiFi SignalsYou are hired by a company to design an indoor localizatio ...

  10. 0x16 Tire之最大的异或对

    我们考虑所有的二元组(i,j)且i<j,那么本题的目标就是在其中找到Ai xorAj的最大值.也就是说,对于每个i(1≤i≤N),我们希望找到一个j(1<j<i),使AixorAj最 ...