今天发现一个好东西,赶紧记下来,我在用textarea的时候,想要自适应高度,这样就不会出现滚动条.网上找了很多,都是用div模拟的,但是好扯淡,div模拟的在ios下不能聚焦并且不能输入.真坑.... 然后找了很久,发现了下面这个好东西,嘿嘿嘿,我给你看个宝贝. 这个就不需要去模拟啦,可以直接使用textarea. (function (root, factory) { 'use strict'; if (typeof define === 'function' && define.am…
使用contenteditable+div模拟textarea文本域实现高度自适应 开发过程中由于需要在发送消息的时候需要有一个可以高度自适应的文本域,一开始是使用textarea并搭配auto-size插件来做到textarea的高度自适应,后来因为遇到一些问题,而且也多加了依赖缺乏可定制,所以决定使用contenteditable来实现. contenteditable介绍 contenteditable属性规定元素内容是否可编辑,是H5新增的属性,支持情况相当好,基本上所有的浏览器都兼容.…
之前在公司做项目的时候,有这么一个需求,要我写一个评论框,可以随着评论的行数增加而自动扩大,最开始我想用textarea实现,但是后来尝试后发现textarea并不适合,textarea的高度不会随着输入行数的增多而增大,于是我上网寻求了下帮助,发现大神张鑫旭的这篇文章<div模拟textarea文本域轻松实现高度自适应>,成功解决我的问题 代码如下: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head&g…
by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=1362 一.关于textarea文本域以及高度自适应 textarea标签为表单元素,一般用在多行文字的输入.在web应用上常见的是评论输入框,微博信息输入框等.例如企鹅微博的输入框: 作为多行文本域功能来讲,textarea满足了我们大部分的需求.然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随…
作为多行文本域功能来讲,textarea满足了我们大部分的需求.然而,textarea有一个不足就是不能像普通div标签一样高度可以跟随内容自适应.textarea总是很自信地显摆它的滚动条,高度固执地岿然不动.所以,有时候,为了增加交互体验想让文本域高度自适应的时候,就会遇到麻烦. <!DOCTYPE <!DOCTYPE html> <html> <head> <title>div模拟textarea以实现高度自适应实例页面</title>…
<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <title>div模拟textarea文本域轻松实现高度自适应</title> <style> h2 { text-align: center; margin: 50px auto; } .test_box { width: 400px; min-heigh…
无意中看到一篇博客介绍了contenteditable这个属性——不需用JS,只需在div里加上contenteditable="true",即可实现div模拟textrarea(文本域),让textrarea的高度随内容的增加而自动增加.当时就惊呆了,居然还有这种操作!!! <div id="textarea" contenteditable="true"></div> 原文博客 contenteditable属性介绍:…
javascript的倒计时功能中newData().getTime()在iOS下会报错问题解决 在做移动端时间转化为时间戳时,遇到了一个问题,安卓手机上访问时,能拿到时间戳,从而正确转换时间,而在iOS上缺不能正常显示,显示的时间为:NaN-NaN1-NaN  Invalid Date new Date('2016-07-18 14:58:32').getTime();      //在ios上死活拿不到时间戳显示NaN 在网上找问题出现原因,看到以下内容: 在IOS5以上版本(不包含IOS5…
今天突然有位前端的朋友问我textarea怎么实现高度随内容自增长,我一下子懵了,首先想到的是用js改变textarea的高度,但是百度了很多参考代码效果都不是很理想. 因为之前实际项目中用的textarea都是定死高度后超出实现滚动条的,如果不是对用户体验太在意的话没必要去搞什么高度自增长...... 然而优秀的设计都是眼里融不进沙子的,没有什么是不可能实现的,接下来就介绍下如何通过div来模拟一个textarea实现高度自增长(当然利用js也可以实现,但是个人感觉没有必要). ok,那么我就…
有些Weber可能没有用过contenteditable这个属性,如果想编辑一个DIV里面的内容,这个属性是一个非常不错的选择   <div contenteditable="true">可以编辑里面的内容</div>  如果你在BODY里面加上contenteditable="true",可以发现该属性是多么的神奇.因此我们可以给HTML标签设置contenteditable="true"属性则可以对该标签进行编辑. c…
1.问题的出现: <textarea>标签为表单元素,但一般用于多行文本的输入,但是有一个明显的缺点就是不能实现高度自适应,内容过多就回出现滚动条. 为了实现高度自适应:用div标签来代模拟textarea文本域,实现高度自适应! 2.解决方案: HTML代码: <div class="test_box" contenteditable="true"><br /></div> // 变为可编辑模式 CSS代码: .te…
项目中碰到的兼容类 bug,记录一二. 页面上有几个同类型的控件,点击它们会触发一些事件,很显然,事件委托优于批量绑定.为了图方便,我将 click 事件绑定到了 document.body 上(绑定在 document 上也是一样),在安卓机上反应良好,ios 上居然不会触发点击事件! 试着将事件绑定到了控件的父级元素,问题消失了. 事实上,当使用事件委托给一个元素添加 click 事件时,如果事件是委托到 document 或 body 上,并且委托的元素是默认不可点击的(如 div, sp…
简短记录下最近开发移动端项目碰到的小坑,产品需求做一个售后对话页面,底部固定输入框,和微信对话差不多,但是在ios下,fixed失效,输入框被虚拟键盘挡住,在安卓下是正常的. 尝试过网上说的很多方法,因为每个页面的需求和布局可能不相同,比如我做的需要下拉刷新消息,上拉加载更多,用的是minit-UI来做,所以都没有效果 后面无奈用了两套代码,用 var u = navigator.userAgent, app = navigator.appVersion;var isiOS = !!u.matc…
<textarea> 标签定义一个多行的文本输入控件.但是它不能像div一样随着内容增加而自动增加,一言不合就出现滚动条,有是有为了更好的交互,可能需要使用div来模拟textarea的实现,直奔主题吧. 1.内容可编辑 contenteditable 对就是contenteditable,给div添加contenteditable=true即可: 2.demo //css div{ width: 400px; min-height: 100px; max-height: 300px; _he…
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Document</title> 6 <style type="text/css"> 7 .textarea{ 8 width: 300px; 9 border:1px solid #ccc; 10 min…
今天发现在ios下new Date("2019-03-06").getTime()返回NaN 原因是ios下不支持“-”必须用"/" 记录备忘 var d = new Date("2017-08-11 12:00:00".replace(/-/g, "/"));…
需求 我们知道文本超出 textarea 高度后,textarea 就会出现滚动条,需求就是让 textarea 高度跟随文本高度变化,屏蔽滚动条,原来做过用js去监听文本行数,然后改变文本框的高度,这实在是麻烦,而且效果不佳,接下来就用简单的方法来实现. 实现 很简单,给 div 加上H5新属性 contenteditable 就行了,来看: <!DOCTYPE html> <html lang="en"> <head> <meta char…
一.使用textarea标签进行多行文本的输入有很多限制,比如不能实现高度自适应,会出现难看的滚动条等问题. HTML5中添加了一个新属性contenteditable,该属性可以让input,textarea以外的不可编辑的标签具备可编辑功能: 用法如下: //contenteditable="true" 当属性值为true的时候,可编辑标签内可以写入标签,对于复制的具有样式的内容,其样式会保留:<div contenteditable="true">…
最近 做项目,做的要是拍照后上传相片,以file格式上传..所以 拍照 后用canvas生成base64格式再转file..在PC和安卓都是没有问题,到IOS上面不行..new file后就是生成一个{}: 查了下file对象 ,支持的浏览器如下: 接口文档 上面 介绍的是file也是 特殊的类型blob: 而blob对象 主持 主流 的浏览器 .所以转换为blob再转成file来上传,代码 如下: //转成blob function dataURLtoBlob(toDataURL) { var…
<div class="card-content-inner" style="word-wrap:break-word;word-break:break-all;white-space:pre-line;" >显示的内容</div> 主要利用黑体部分的样式进行控制~解决了没有换行符时候字体跑出文本域外和有换行符时候文本也不换行的问题 2017-08-21…
子组件: <template> <div class="item-address"> <span v-show="!hasAddress" class="address-placeholder">请输入详细地址</span> <div contenteditable="true" v-html="innerText" @input="chang…
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <style type="text/css"> .a{ width: 600px; min-height: 50px; border: 1px solid #CCCCCC; } </style> </head> <bo…
需求:利用highlight.js对文本框中的内容进行高亮显示 1.highlight.js使用 js中:<script src="js/highlight/highlight.pack.js"></script> <script type="text/javascript"> hljs.initHighlightingOnLoad();//SQL高亮显示 $(document).ready(function() { $(&quo…
最近在做一个微信公众号的页面,其中有对textarea做输入字数限制,而且需要兼容iOS和安卓手机,下面直接贴代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>textarea输入字数限制(兼容ios和安卓)</title> </head> <body> <!-- 最多…
在IOS下,input 和textarea表单默认会有个内阴影,一定程度上影响视觉一致,可通过设置下面代码去掉: input{-webkit-appearance: none;}…
现象:ie下,如果某个区域滚动显示表格内容(div模拟的table),表体出现滚动条的时候,会跟表头无法对齐. 解决方法:1.首先需要知道两个高度:表体最大高度height1.目前表体要显示的内容高度height2. 2.在css文件写一个样式:.ieScroll{padding-right:17px;} 3.比较两个高度,如果height1>=height2,此时不会出现滚动条,所以移除表头的class:ieScroll:否则表头增加class:ieScroll. 奇妙的17px~ 如果有更好…
placeholder是input标签的新属性,在使用的时候有两个问题: 1.IE8 下不兼容 处理思路: 如果浏览器不识别placeholder属性,给input添加类名placeholder,模仿placeholder属性的样式,并给input 的value赋值placeholder属性的值 2. input的type属性是password的情况,用上面的方法处理提示语为密码文 处理思路: 新添加一个标签,模仿placeholder属性 直接上代码: css部分: .input-item {…
我们公司有一个页面底部用到了fixed样式,每当弹出键盘的时候,IOS下fixed就会走样(据我所知android没有该问题). 为此之前我经过产品的同意做了简单的处理(方法1). 方法一: focus的时候让fixed块position变为relative,这是最简单的处理方法. 下面是我的小demo <!DOCTYPE html> <html> <head> <title></title> <meta charset="utf…
1.textarea自适应高度,placeholder使用图标 自适应高度,有很多种办法: 1)jq: $("textarea").on("input",function(){ $(this).css({ 'height':'auto', 'overflow-y':'hidden' }).height(this.scrollHeight); }) 效果图: 2)使用插件:autosize,flexText等...插件肯定比一两句话的jq强大的多,或者是:这篇文章  …
IE7 下,不能够自定义<select>/<option>的样式,所以为了方便起见,用div可以进行模拟 <!doctype html> <html> <meta charset="utf-8"> <title>div模拟select</title> <script type="text/javascript" src="js/jquery-1.8.3.min.js&…