1.当我们个  div 设置了 contenteditable = "true" 这个块状元素就可以编辑了, 如果要实现 placeholder 直接写上去是没有效果的

<div contenteditable="true"  placeholder="please write infomation"></div>//没有效果

2.可以添加样式来实现

*[contenteditable="true"]:empty:before{
content:attr(placeholder);
color: #A9A9A9;
}

这段代码匹配 属性 contenteditable="true" 的元素类容为empty时添加:before伪元素

  attr(placeholder)获取属性placeholder的值赋值给content这样就可以模拟的实现文本框中 placeholder 属性,

3.在ipone机中首次显示时是ok的,当你输入内容后再清空发现 并没有显示再显示placeholder的内容,这是因为这个可编辑的块这时不是空,还有换行符,

如果我们有使用jquery,zepto等我们可以拿到这个元素的text();跟这个元素再赋值“”;

如果我们用js,用innerText去获取块元素的值,你会发现不管你值是否为空都是true,就没有办法判断我什么时候是空(只有在ipone中才这样),

然后我就去看了下jquery中的text()是怎么实现的,它用了一个textContent属性,用这个属性就可以判断到

4.textarea中用 placeholder 属性写入过多文字有2行(可输入药品名称、数量、单位,例:红螺霉素,2盒。保健品类请选择食品。) ,当输入文字然后清空发现只显示一行文字,晕

然后我用jq在输入框input事件时用 element.attr("placeholder","123可输入药品名称、数量、单位,例:阿莫西林颗粒,2盒。保健品类请选择食品。 ") 我去发现出现了

然后又用element.attr("placeholder","可输入药品名称、数量、单位,例:红螺霉素,2盒。保健品类请选择食品。 ") 又有问题了  我就觉得是因为是内容一样的问题,然后果真是

if(placeholder == "可输入药品名称、数量、单位,例:红螺霉素,2盒。保健品类请选择食品。"){
_this.attr("placeholder","可输入药品名称、数量、单位,例:红螺霉素,2盒。保健品类请选择食品。 ")//后面多加了个空格
}else {
_this.attr("placeholder","可输入药品名称、数量、单位,例:红螺霉素,2盒。保健品类请选择食品。")
} 用这种丑陋的方法解决了,以后有好的在共享出来

移动端的坑 之 在可编辑的div中实现placeholder的更多相关文章

  1. js实现类似微信网页版在可编辑的div中粘贴内容时过滤剪贴板的内容,光标始终在粘贴内容后面,以及将光标定位到最后的方法

    过滤剪贴板内容以及定位可编辑div光标的方法: <!DOCTYPE html><html lang="en"><head>  <meta ...

  2. JS在可编辑的div中的光标位置插入内容或表情

    <input type="button" value="插入字符" onclick="document.getElementById('test ...

  3. 可编辑的div -> 编辑框

    操作可编辑的div中,无可厚非,怎么获取当前光标位置,复制,粘贴等知识是必须要懂得,下边这个链接里面对其有详细的解释: 请点这里 想看详细的例子请点击这里

  4. 浅谈html5 video 移动端填坑记

    这篇文章主要介绍了浅谈html5 video 移动端填坑记,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 本文介绍了html5 video 移动端填坑记,分享给大家,具体 ...

  5. 可编辑的DIV -编辑器

    找了好多,没几个好用的,都或多或少有问题 目前这个最好用..  不过有一个奇葩的问题,就是要放在"<a></a>"标签里面, js或者jQuery获取  $ ...

  6. 编辑并列DIV

    html编辑控件,编写3个div并行,先看一下效果,如下图: 我需要将整个白色部分作为一个整体,编辑控件使用,其实使用到的就是div中的float:left属性,并且定义好宽度.css 部分代码如下: ...

  7. textarea自适应高度,div模仿textarea可编辑实现自适应高度,placeholder使用图标

    1.textarea自适应高度,placeholder使用图标 自适应高度,有很多种办法: 1)jq: $("textarea").on("input",fun ...

  8. VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法。

    原文:VS编程,编辑WPF过程中,点击设计器中界面某一控件,在XAML中高亮突出显示相应的控件代码的设置方法. 版权声明:我不生产代码,我只是代码的搬运工. https://blog.csdn.net ...

  9. js在一个可编辑的div光标处插入图片或者文本(兼容ie,火狐等浏览器)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. 《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式

    原创文章,欢迎转载.转载请注明:关东升的博客 Swift 1.x的错误处理模式存在很多弊端,例如:为了在编程时候省事,给error参数传递一个nil,或者方法调用完成后不去判断error是否为nil, ...

  2. VS2010程序崩溃- APPCRASH

    使用VS2010打开某个项目出现错误,程序崩溃:还不是全部的项目:开始以为是那个项目本身有什么问题,查了很久发现不是这样的 程序崩溃提示 问题签名: 问题事件名称: APPCRASH 应用程序名: d ...

  3. delphi小知识 点(if条件符,to_date)

    1.if条件 与:and 或:or 不等于:<> 等于:= 例子: if(j=1)and(nFH<>0) then begin tLCH:=Trim(copy(tSAMPLEI ...

  4. 巨蟒python全栈开发linux之centos2

    1.一些命令回顾 在vm中,右击"打开终端",输入命令ifconfig,得到的下图算是一个终端,并且我们可以看到服务器的ip是192.168.34.128 我们通过windows上 ...

  5. Java基础知识大全

    本文引用于: http://uule.iteye.com/blog/762949 /; DecimalFormat df = new DecimalFormat("0.00");/ ...

  6. 关于Java中的toString()方法

    package c07; class ewq{ public String toString() { return "ppppppppp"; } public static voi ...

  7. JavaScript setInterval()執行clearInterval() 再恢復setInterval()

    clearInterval() 方法可取消由 setInterval() 设置的 timeout. clearInterval() 方法的参数必须是由 setInterval() 返回的 ID 值. ...

  8. 剑指offer 面试61题

    面试61题: 题目:LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到 ...

  9. [转]linux shell 流程控制(条件if,循环【for,while】,选择【case】语句实例

    原文链接:http://www.cnblogs.com/chengmo/archive/2010/10/14/1851434.html linux shell有一套自己的流程控制语句,其中包括条件语句 ...

  10. 前端基础之JavaScript_(2)_BOM对象

    BOM对象 window对象 所有浏览器都支持 window 对象.概念上讲.一个html文档对应一个window对象.功能上讲: 控制浏览器窗口的.使用上讲: window对象不需要创建对象,直接使 ...