jQuery自定义组件——输入框设置默认提示文字

if (window.jQuery || window.Zepto) {

    /**
     * 设置输入框提示信息
     * @param options
     * @author rubekid
     */
    var setInputTipValue = window.setInputTipValue = function(target, options){
        options = options ||{};
        var _self = target.get(0);
        if(_self._initTip){
            return false;
        }
        target.show();
        var color = options.color||"#999999";
        var inputPrompt = target.clone();
        var name =  target.attr("name");
        var tipText = options.tipText || target.attr("data-tip") ||"";
        inputPrompt.val(tipText);
        inputPrompt.attr("type", "text");
        inputPrompt.removeAttr("id");
        inputPrompt.removeAttr("name");
        inputPrompt.removeAttr("maxlength");
        inputPrompt.removeAttr("data-tip");
        inputPrompt.attr("class", target.attr("class"));
        inputPrompt.attr("readonly", true);
        inputPrompt.css({"color":color});
        _self._initTip = true;//设置标示,防止重复绑定

        var _event = "focus";
        if(‘ontouchstart‘ in window){ //手机浏览器聚焦无法弹出键盘处理
            inputPrompt.attr("disabled", "disabled");
            _event = "touchstart";
        }

        var init = function(){
            if($.trim(target.val())==""){
                target.val("");
                target.after(inputPrompt);
                target.hide();
                inputPrompt.show();
                inputPrompt.bind(_event,function(){
                    setTimeout(function(){
                        target.focus();
                    });
                });
            }
        };
        target.bind({
            blur: function(){
                init();
            },
            focus:function(){
                inputPrompt.detach();
                $(this).show();
            },
            _reset:function(){
                if($.trim(target.val())==""){
                    init();
                }
                else{
                    target.show();
                    if(inputPrompt){
                        inputPrompt.hide();
                        inputPrompt.remove();
                    }
                }
            }
        });
        init();
    };

    /**
     * jQuery 自定义插件
     */
    (function ($) {
        ‘use strict‘;
        /**
         * 设置输入灰色提示值
         * @author rubekid
         */
        $.fn.setInputTip = function(options){
            return this.each(function(){
                var settings = $.extend({}, options||{});
                setInputTipValue($(this), settings);
            });
        };

    })(window.jQuery || window.Zepto);
}

页面调用demo:

<input type="text" data-tip="请输入要名称进行查询" id="keyword" name="keyword" />
<script type="text/javascript">
$(function(){
    $("#keyword").setInputTip();
});
</script>

效果:

时间: 2024-08-03 09:03:12

jQuery自定义组件——输入框设置默认提示文字的相关文章

基于jQuery的input输入框下拉提示层(自动邮箱后缀名)

基于jQuery的input输入框下拉提示层,方便用户输入邮箱时的提示信息,需要的朋友可以参考下 效果图 // JavaScript Document (function($){ $.fn.extend({ "changeTips":function(value){ value = $.extend({ divTip:"" },value) var $this = $(this); var indexLi = 0; //点击document隐藏下拉层 $(docum

ASP.NET TextBox 当鼠标点击后清空默认提示文字

ASP.NET TextBox 当鼠标点击后清空默认提示文字 [ 方法一] 前台代码: <div>    <asp:TextBox ID="txtName" runat="server"></asp:TextBox>    <asp:TextBox ID="txtPwd" runat="server"></asp:TextBox>    <asp:Button

jquery自定义组件开发

jquery的组件已经有很多,但是有可能找不到符合我们需求的组件,所以我们可以动手自己封装一个jquery组件. 第一步要知道封装jquery组件的基本语法 (function ($) { $.fn.ziDinYiZuJian = function () { //ziDinYiZuJian 组件 要实现的功能代码 } })(jQuery) 第二步调用自定义的组件 调用组件必须要引入在组件中用到的js包,然后调用 <div id="dom"></div> $('#

给input标签添加默认提示文字

1  <input name="username" placeholder="请输入用户名" /> placeholder = "提示文字"

ASP.NET TextBox 当鼠标点击后清空默认提示文字[转]

前台文本框里添加下面2个事件属性: OnFocus="javascript:if(this.value=='提示文字') {this.value=''}" OnBlur="javascript:if(this.value=='') {this.value='提示文字'}" -----------------------------------例----------------------------------------- <asp:TextBox ID=&

jsp页面中如何让一个输入框内的提示文字是灰色而输入的文字是黑色

<input name="name" type="text"  value="提示的文字" size="30" onFocus="if(value==defaultValue){value='';this.style.color='#000'}" onBlur="if(!value){value=defaultValue;this.style.color='#999'}" styl

nginx访问报错时设置默认提示页

nginx出现404,502等错误时,跳转至统一页面,给用户提示页面.步骤如下: 一:编辑nginx配置文件 vim /usr/local/nginx/conf/nginx.conf 在http块处加入:fastcgi_intercept_errors on; 在server块处加入:error_page  404 502 503 504  /404.htm;         #当nginx出实404,502,503,504错误时跳转至404.htm页面 二:编辑404.htm 三:检查ngin

input提示文字;placeholder字体修改

在很多网站上我们都看到input输入框显示提示文字,让我们一起来看看如果在input输入框中显示提示文字.我们只需要在<input>标签里添加:placeholder="提示文字即可". <style> /*修改提示文字的颜色*/ input::-webkit-input-placeholder { /* WebKit browsers */ color: red; } input:-moz-placeholder { /* Mozilla Firefox 4

Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页、搜索、格式化、自定义按钮

系列索引 Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引 Web jquery表格组件 JQGrid 的使用 - 4.JQGrid参数.ColModel API.事件及方法 Web jquery表格组件 JQGrid 的使用 - 5.Pager翻页.搜索.格式化.自定义按钮 Web jquery表格组件 JQGrid 的使用 - 6.准备工作 & Hello JQGrid Web jquery表格组件 JQGrid 的使用 - 7.查询数据.编辑数据.删除数据