前言 一般都是用Textarea 文本来编辑,但发现可以用 div contenteditable = “true”,这个属性来搞定 <div contenteditable=true placeholder="添加描述符" class="shut-down"></div> css .shut-down:empty:before{ content:attr(placeholder); font-size: 13px; color: #999;…
需求:web页面需要一个文本输入框.1.该文本输入框默认状态下有个仿‘placeholder’的默认文本提示信息,2.文本框输入状态下其高度会随文本内容自动撑开. 方案选择:1.使用<textarea>标签.但是标签高度不会随文本高度自动撑开,而是出现滚动条.使用JS动态计算文本内容高度赋予<textarea>标签高度. 2.使用<div>或者<p>.<span>等非表单标签,通过赋予其contentEditable='true'属性,是其获得内…
v-bind 的作用 v-bind指令可以将节点的属性与动态表达式绑定在一起 v-bind可以绑定html元素中的各种属性 例如: <a v-bind:href="xxx"></a> xxx可以是data里的变量,也可以是函数等等 语法糖 v-bind可以简写成 : 即 v-bind:xxx 简写成 :xxx class属性动态绑定 常见的写法:class可以绑定一个放着类名的数组,也可以绑定一个对象,或者对象也可以放在数组中 对象中,键表示类名,值表示这个类是…
Vue.js 的核心是一个响应的数据绑定系统,它允许我们在普通 HTML 模板中使用特殊的语法将 DOM “绑定”到底层数据.被绑定的DOM 将与数据保持同步,每当数据有改动,相应的DOM视图也会更新.基于这种特性,通过vue.js动态绑定class就变得非常简单. 1. 数据绑定 vue 指令以 v- 前缀标示,数据绑定的指令 v-bind:属性名, 简写为 :属性名, 简单的数据绑定例子如下: <a v-bind:href="http://www.cnblogs.com/"&…
v-bind:属性动态绑定数据,简写: v-html:绑定html代码 {{}}:绑定数据,另一种v-text v-bind:class="{‘red’:isActive}"  :类型绑定 <div v-for="(item,key) in list"></div>:可以获取到key v-bind:style="{width:blength+'px'}" <template> <div id="…
js之向div contenteditable光标位置添加字符  原理: 在HTML里面,光标是一个对象,光标对象是只有当你选中某个元素的时候才会出现的. 当我们去点击一个输入框的时候,实际上它会产生一个选中对象-selection(就是我们可以看到的文字变成蓝色的那个区域),selection在火狐浏览器可以直接用 window.getSelection()获取,在HTML里面,selection只有一个的,并且selection是一个区域,你可以想象成一个长方形,它是有开始和结束的 当你点击…
在IOS中<div contenteditable="true"></div>中点击时可以弹出键盘但是无法输入.加一个样式-webkit-user-select:text就可以了.…
标准的DHTML文档中TEXTAREA的MAXLENGTH属性默认情况下不起作用,只有当事件发生时才起作用 如下:http://spiderscript.net/site/spiderscript/examples/ex_textarea_maxlength.asp 但TEXT中有且起作用<input type=">, 那么在TEXTAREA中怎么实现输入内容不能超过多少个字符呢. 方法1.如果只需要截取多少个字符的内容,则可以: 复制代码 代码如下: <textarea on…
只要是表单元素,其值已经不会再用value来定义了,但是placeholder还是可以用来设置默认值. section1--input:type="text" type="text"不要在标签上定义value值(因为vue已经处理了),要用v-model="currentValue" data:{currentValue:"xxx"} <input type="text" v-model="…
在项目中会遇到需要编辑单元格的双向绑定问题,v-model双向绑定会在添加contenteditable="true"属性后失效解决方法如下,亲测好用(v-html和@blur实现): <td class="width90" contenteditable="true" v-html="name3.LastProduct" @blur="name3.LastProduct=$event.target.inner…
原文地址: https://blog.csdn.net/u010377383/article/details/79838562 前言 为了提升移动端click的响应速度,使用了fastclick.js这么一个库. 这个库导致这个可编辑的div被点击无法轻松的唤起输入法. 长按才能成功.div的一个contentEditable="true" 解决方案 首先:再你的编辑器中增加一个class属性.我用的是quilljs <div id="editor" clas…
demo.html <!DOCTYPE html> <html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml" xmlns:v-html="http://www.w3.org/1999/xhtml" xmlns:v-on="http://www.w3.org/1999/xhtml"> <head> <meta charset=…
做移动端项目遇到很多问题,最近比如textarea 随着文本的字数自动撑开高度, 网上也查阅了一些资料发现比较有用的方法 就是获取 textarea的行数和换行符来动态改变textarea的高度  就是计算文本的行数,再重新设置文本的rows实现的 附上代码: 然后查阅了资料发现    用   HTML 5 全局 contenteditable 属性 的更佳牛逼,都不用这么麻烦的动态改变,只  要把 div 的innerHtml获取到复制就行 , 感觉textarea 要被淘汰了 ,哈哈哈哈…
属性渲染 关于标签的属性渲染统一使用v-bind属性指令,比如轮播图的src全部经过后端获得,所以我们需要对src属性做动态渲染. 基本使用 使用v-bind属性指令,动态绑定图片的地址. <body> <main id="id-1"> <img v-bind:src="imgSrc"> </main> </body> <script src='https://cdn.jsdelivr.net/npm…
1.先看问题 当我们要对一个div/span元素获取焦点的时候,直接对$("#div1").focus()是不能实现效果的,比如下图: 当点击输入框进行输入后,在点击区域弹出选择地段的时候,input输入框并没有失去焦点(或者说区域的div没有获得焦点),就出现了键盘显示在弹层的上面导致无法选择的bug 解决办法有两个: a:循环所有的input等可以获取焦点的元素,让他们失去焦点(blur); b:点击区域选择地段的时候让div获取焦点,从而解决input不失焦的问题: 在这里对于普…
1.计算属性 https://cn.vuejs.org/v2/guide/computed.html new Vue({ computed:{//定义 show(){ } } }) ++计算属性1.html:++ <!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script src="vue.js&…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" con…
margin和padding用来隔开元素,margin是隔开元素与外边,padding是隔开元素里边. margin: 包括margin-top.margin-right.margin-bottom.margin-left,控制块级元素之间的距离,它们是透明不可见的. Padding: 包括padding-top.padding-right.padding-bottom.padding-left,控制块级元素内部,content与border之间的距离. 例子h2: h2 {    font-s…
给textarea标签添加一个maxlength=200,测试工程师提bug说IE9没起作用.后一测试,发现IE10一下的浏览器均不支持 <textarea maxlength="200"></textarea> 去w3看了下,该属性已经被收纳到HTML5,IE10+和其它现代浏览器均已支持. 对于IE10以下浏览器,可以通过几个事件强制用户不能输入超过的字数 <textarea maxlength="10" onchange=&quo…
contenteditable型的编辑框,实现placeholder的方式有两种 第一种,Css的实现方式: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <style> .content{ width:380px; height:50px; border:…
如果只是單純地想限制 textarea 中的字數,不想寫太多的話,可用:   <textarea onkeyup="this.value = this.value.slice(0, 80)"></textarea>   或   <textarea onkeyup="this.value = this.value.substring(0, 80)"></textarea>     在 textarea 的 onkeyup…
背景: 在最近项目中,碰到一个问题:有一个可编辑的div需要双击时可编辑,blur或者回车时将编辑结果保存.你可能注意到双击时,文字会被选中,可编辑区域不会focus到光标位置.考虑到兼容性问题,写了如下代码.做个备份,以备不时之需. js: function getMouseEventCaretRange(evt) { var range, x = evt.clientX, y = evt.clientY; // Try the simple IE way first if (document…
contenteditable 属性是 HTML5 中的新属性. 例子:<p contenteditable="true" style=" border:solid 1px #333; width:100px;word-wrap: break-word; outline:none;">这是一段可编辑的段落.请试着编辑该文本.</p> 1. 解决火狐和ie下的不换行问题 : word-wrap: break-word; 2.去掉光标效果: ou…
Vue 实例1 每个Vue.js都是通过创建一个Vue的根实例启动的 var vm = new Vue({}) 2 扩展Vue构造器,用预定义选项创建可复用的组件构造器 var MyComponent = Vue.extend({ //扩展选项 }) //所有的 MyComponent 实例都将以预定义的扩展选项被创建 var myComponentInstance = new MyComponent() 3 属性与方法 3.1 每个Vue实例都会代理data对象里所有的属性 var data…
我用的element-ui primary默认是这个颜色,ui设计的是这个颜色所以我们先要重写 .el-button--primary的样式 因为默认是没有勾选的所有事灰色所以下面重写样式为灰色 .el-button--primary { color: #fff; background-color: gainsboro; border-color: gainsboro;} 有一点我想不通,就是通过是否被选中来改变这个.el-button--primary或者说动态绑定这个类 通过计算属性来实现是…
IE10版本的textarea才支持maxlength属性:低版本的IE都不兼容,实际上低版本的IE的市场存在率还是很高的: 所以还是很有必要来整合一套解决方案的: Jquery版本 $(function () { $('textarea[maxlength]').on('keyup blur', function(event) { var maxlength = $(this).attr('maxlength'); var val = $(this).val(); if (val.length…
不管<input type='radio checked='true''>  你的checked属性值是true或者false,他都会选中. 其实原理是这样的,复选框里只要有checked属性,不管是否为其赋值,结果为空或true或false或任意值,均为选中状态. 选中不选中,不是看checked的属性值,而是看有没有checked这个属性,所以,动态选中,不用v-model,也不用checked='true',判断是否需要渲染checked这个属性就好了. view 改一下: "…
<div class="editdiv" id="edit" contenteditable="true">这是添加文字</div> getC($('.editdiv')) function getC(el){ el = el[0]; // jquery 对象转dom对象 el.focus(); var range = document.createRange(); range.selectNodeContents(el)…
问题:在Vue中,会遇到许多个多选框,倘若数量很庞大那么一个一个input框.label节点寻找,这样操作很繁琐. 直接上解决方案吧: html页面: <ul v-for="(item,index) in provinces1"><input type="checkbox" :id="ki(index)"> <label :for="ki(index)">{{item.name}}</…