js实现 textArea 的 placeholder 换行

今天写textarea的placeholder 换行的方法,网络上找了好多资料,写的不太详细,只好自己写一个demo,现分享给大家。
网络上看到方法大概有jQuery的watermark,这种方法可以在chrome中实现,其他浏览器不可以,所以我选择用js实现以下。
要点:
1,鼠标的焦点事件focus与blur;
2,jQuery的input与propertychange事件;
当触发这些事件的时候改变textarea的value值;就这么简单,上代码了,拿下来就能用。

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8">
        <title></title>
        <script src="js/jquery-2.1.0.js" type="text/javascript" charset="utf-8"></script>
        <style>
            textarea {
                width: 675px;
                height: 150px;
                display: block;
                margin-left: 30px;
            }
        </style>
    </head>

    <body>
        <textarea id="text" maxlength="500"></textarea>
        <script>
            var placeholder = ‘1.儿童出行只含车位费,不含住宿费及门票等费用儿童门票不接受预定,请至景区门口自行购买。\n2.儿童车票与成人同价,如您的小孩不足80厘米,且不需要占车位,请在选择人数时不要提交儿童人数,如身高为80厘米以上的儿童必须提交儿童人数。\n3.如您的小孩身高超过120厘米请直接选择成人价,景区对特定人群有门票优惠政策参考温馨提醒‘;
            $(‘#text‘).val(placeholder).css({
                color: ‘#ccc‘
            });
            $(‘#text‘).focus(function() {
                if($(this).val() == placeholder) {
                    $(this).val(‘‘).css({
                        color: ‘#ccc‘
                    })
                } else {
                    $(this).css({
                        color: ‘#333‘
                    })
                }
            });
            $(‘#text‘).blur(function() {  
                if($(this).val() == ‘‘) {  
                    $(this).val(placeholder).css({
                        color: ‘#ccc‘
                    })
                }
            });
            $(document).on(‘input propertychange‘, ‘#text‘, function(event) {
                if($(this).val() == placeholder) {
                    $(this).val(‘‘).css({
                        color: ‘#ccc‘
                    })
                } else if($(this).val() == "") {
                    $(this).val(placeholder).css({
                        color: ‘#ccc‘
                    }).blur();
                } else {
                    $(this).css({
                        color: ‘#333‘
                    })
                }
            })
        </script>
    </body>

</html>

原文地址:https://www.cnblogs.com/homehtml/p/12217580.html

时间: 2024-10-09 12:53:55

js实现 textArea 的 placeholder 换行的相关文章

TextArea里Placeholder换行问题

页面上使用TextArea控件时,会时不时的想给个提示,比如按照一定方式操作之类的.正常情况下,会使用Placeholder,但这样的提示是不会换行的,无论是用\r\n,还是用<br/>,都不起作用. 前段时间碰到这个问题,一直没有解决,所有页面上的Placeholder都是一行到底,丑死了. 无意中,一个朋友提供了一个方法,完美的解决了问题,贴出来和大家分享一下: <textarea id="text1" placeholder="Line 1"

textarea 中的换行符问题

下面是我对这个问题的解决过程,最后算是完全搞懂了,真是阴沟里险些翻船 1.必须知道textarea中的换行符是 \n  (个人检测发现按回车键是\n,好像在linux下是\r\n) 2.用nl2br之前,请仔细看好手册解释,我就是搞郁闷了,一般都理解为将\n转换成<br >,其实不是的: 看php手册解释: nl2br –  Inserts HTML line breaks before all newlines in a string Returns string with ‘<br

【JS】IE兼容placeholder

直接上代码: $(document).ready(function () { var doc = document, textareas = doc.getElementsByTagName('textarea'), supportPlaceholder = 'placeholder' in doc.createElement('textarea'), placeholder = function (textarea) { var text = textarea.getAttribute('pl

js操作textarea方法集合

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + requ

关于(textarea)回车换行符在提交请求(URL)时消失的处理

关于(textarea)回车换行符在提交请求(URL)时消失的处理,有时候,我们在页面输入查询时,想多个同时查询,然后,回车隔开每个查询的内容. 后台只能收到字符串,没有回车换行符. 如下面的一个请求 window.location = "${ctx}/post/cusQueryMailExport?customerId="+customerId +"&postTimeStart="+postTimeStart+"&postTimeEnd=

JS实现alert中显示换行的方法

转自脚本之家: 这篇文章主要介绍了JS实现alert中显示换行的方法,实例分析了两种实现alert换行的实现技巧,非常简单实用,需要的朋友可以参考下 本文实例讲述了JS实现alert中显示换行的方法.分享给大家供大家参考,具体如下:先来介绍一种比较复杂的方法,但这种方法使用起来对所有型号的浏览器都能任意分辨: //浏览器类型判定 function getOs() {   if(navigator.userAgent.indexOf("MSIE")>0) {      return

微信小程序 fixed 解决 textarea 的 placeholder 不固定问题

当我们把 textarea 放到一个 position:fixed; 中的元素中时. 会发现这个 textarea 也会跟着固定位置,但是 textarea 的 placeholder 内容不会固定,当滚动页面时,placeholder 的内容会跟着滚动. 如图所示,textarea放在   fixed定位的元素中  上下拖动  问题 解决方案  <textarea type='text' fixed>   加入  fixed   就行啦 原文地址:https://www.cnblogs.co

textarea placeholder 换行问题处理

APP中嵌入webview时  碰到的文字对齐需求  ----主测 chrome   firefox   safari 第一感觉就是直接在placeholder属性中写入 \n  <br> 之类的 ,然而并没什么用 网上查了下   各种说辞不一, 归纳总结如下: 有效方法列表: · 类似\n的解决方式   如: [1]  placeholder="Line 1    Line 2" [2]   placeholder="Line 1 Line2"    

常用js,解决 textarea换行,图片预览,等待加载

/** 解决在textarea中输入的数据存入数据库后读到页面没有换行效果* textarea_info是显示在页面内容区域的class* 使用方法:直接在相应的区域加上class="textarea_info"* 在js中调用textarea_br()即可* */    function textarea_br(){        var element = $(".textarea_info");        element.each(function(){