跨浏览器的placehold

如何实现跨浏览器的placeholder效果呢?

先看下效果

js代码如下:

$(‘#username‘).placeholder({
        word: ‘用户名‘, color: ‘#ddd‘, normalFontColor: ‘#f00‘, maxLen: 4, minLen: 2, errorBorderClass: ‘errorBorder‘,
        keyup_callback: function () {
            console.log(‘keyup_callback‘);
        }
    });
    $(‘#password‘).placeholder({word: ‘请输入密码‘, normalFontColor: ‘#f00‘, color: ‘#ddd‘}, function () {
        console.log(‘callback‘);
    });

参数说明:

参数名 含义 示例
word 文本框默认显示文字 请输入密码
color 默认显示文字的颜色 ‘#ddd’
evtType 事件类型,即什么事件触发默认文本消失 默认是’focus’
maxLen 文本框可输入的最长字符个数,0表示无限制
minLen 文本框输入的最短字符个数,0表示无限制
normalFontColor 正常输入文字时的字体颜色 ‘#f00’
errorBorderClass 发生错误时生效的class 比如当输入框中的文字个数小于minLen时,就会应用该class
keyup_callback keyup的回调函数
blur_callback 失效焦点的回调函数
focus_callback 获得焦点的回调函数
click_callback 单击事件的回调函数
keydown_callback keydown事件的回调函数

html实例

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>label左对齐</title>
    <style>
        ul, li {
            /*list-style: outside none none;*/
            list-style-type: none;
            margin-left: 0;
        }

        li label {
            width: 20%;
            float: left; /* It is necessary */
        }

        li.button {
            text-align: center;
            margin-left: -40px;
        }

        input.errorBorder {
            border: solid 1px #ff0000;
        }
    </style>
</head>
<body>
<form action="">
    <ul style="width: 400px">
        <li>
            <label for="username">用户名</label><input id="username" type="text"/> <span>用户名不能为空</span>
        </li>
        <li>
            <label for="password">密码</label><input id="password" type="text"/>
        </li>
        <li class="button">
            <input type="button" value="下一步"/>
        </li>
    </ul>
</form>
<script type="text/javascript" src="jquery-1.11.1.js"></script>
<script type="text/javascript" src="common_util.js"></script>
<script type="text/javascript" src="jplaceholder.js"></script>
<script type="text/javascript">

    $(‘#username‘).placeholder({
        word: ‘用户名‘, color: ‘#ddd‘, normalFontColor: ‘#f00‘, maxLen: 5, minLen: 2, errorBorderClass: ‘errorBorder‘,
        keyup_callback: function () {
            console.log(‘keyup_callback‘);
        },keydown_callback: function () {
            console.log(‘keydown...‘);
        }
    });
    $(‘#password‘).placeholder({word: ‘请输入密码‘, normalFontColor: ‘#f00‘, color: ‘#ddd‘}, function () {
        console.log(‘callback‘);
    });

</script>
</body>
</html>

代码下载地址:

[这里写链接内容](http://pan.baidu.com/s/1kTzkfeJ

这里写链接内容

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-15 02:01:17

跨浏览器的placehold的相关文章

常用跨浏览器设置——JS总结

常用跨浏览器设置--JS总结 1.跨浏览器添加事件 <pre name="code" class="javascript"> function addEvent(obj,type,fn) { if (obj.addEventListener) { obj.addEventListener(type,fn,false); } else if (obj.attachEvent) { obj.attachEvent('on' + type, fn); } }

跨浏览器resize事件分析

resize事件 原生事件分析 window一次resize事件: IE7 触发3次, IE8 触发2次, IE9 触发1次, IE10 触发1次 Chrome 触发1次 FF 触发2次 Opera 触发1次 Safari 触发1次 场景分析 window resize时,部分组件需要重置大小(一次):部分组件不需要重置大小: 开源库分析 jquery-resize 优点:使用简便 $('#div1').on('resize', function (e) { console.log('[div1

JS-DOM2级事件对象跨浏览器处理(已封装)

1 var eventUill = { 2 //添加事件 3 addHander: function(element, type, handler) { 4 if(element.addEventListener) { 5 element.addEventListener(type, handler, false); 6 } else if(element.attachEvent) { 7 element.attachEvent('on' + type, handler); 8 } else {

JS 事件(4)——跨浏览器的事件对象

跨浏览器的事件对象详解 封装事件对象 1 var event_util = { 2 //添加事件 3 addHandler: function(element, type, handler) { 4 if(element.addEventListener) { 5 element.addEventListener(type, handler, false); 6 } else if(element.attachEvent) { 7 element.attachEvent("on" +

EventUtil——跨浏览器的事件对象

前言:什么是EventUtil? 在JavaScript中,DOM0级.DOM2级与旧版本IE(8-)为对象添加事件的方法不同 为了以跨浏览器的方式处理事件,需要编写一段“通用代码”,即跨浏览器的事件处理程序 习惯上,这个方法属于一个名为EventUtil的对象 编写并使用该对象后,可保证处理事件的代码能在大多数浏览器下一致的运行 本文将围绕着EventUtil对象展开,并提供该通用对象代码以作参考分享 文章主要内容参考书籍为<JavaScript高级程序设计>([美]Nicholas C.Z

跨浏览器的placeholder-jQuery版(jQuery插件EnPlaceholder)

案例:整搜索框,需要默认占位符为"请输入关键词",获取焦点时,占位符消失或不可用(不影响正常输入),丢失焦点后,若用户无内容输入,占位符继续出现,继续占位.这种代码我想前端们已经很容易就写出来了吧,现在HTML5原生就有这个"placeholder"属性,效果与上边案例描述的一样(各支持的浏览器内部表现可能不一致,但是作用是一致的),那么这一属性该怎么优雅降级到支持所有现代浏览器呢?答案还是脚本即JavaScript. 上述案例的一个图例:     下面我们就使用

处理跨浏览器的事件处理程序

事件:事件是用户或浏览器自身执行的某些动作,例如 : click   load   mouseover 事件处理程序:用于响应某个事件的函数 在不同的浏览器,DOM中,事件处理程序是响应某个事件的函数 DOM0:中事件处理函数  event:onclick=function              删除程序:event:onclick=null: DOM 2:addEventListener()            removeEventListener(); 他们都接受三个参数,要处理的事

跨浏览器事件处理程序

//跨浏览器事件处理程序 var eventUtil = { //添加句柄 addHandler:function(element,type,handle){ if(element.addEventListener){ element.addEventListener(type,handle,false); }else if(element.attachEvent){ element.attachEvent('on'+type,handle); }else{ element['on' + typ

javascript跨浏览器事件绑定

//跨浏览器事件绑定 function addEvent(obj,type,fn){ //obj目标对象, type事件类型 注意是:"load" ,fn函数回调 if (typeof obj.addEventListener !="undefined"){ //W3C方法 obj.addEventListener(type,fn,false); } else if (typeof obj.attachEvent !="undefined"){