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") ||"";
if(inputPrompt.is(":input") && inputPrompt.attr("type") != "text"){
inputPrompt = $('<input type="text" />');
}
inputPrompt.val(tipText);
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>
效果:

jQuery自定义组件——输入框设置默认提示文字的更多相关文章
- <input>/<textarea>输入框设置默认提示文字(隐藏式)
html代码如下: <tr> <td>签 名:</td> <td><input type="text" nam ...
- 输入框去除默认的文字,jquery方法
需求:所有的输入框获取焦点时,去掉默认的提示文字,失去焦点时如果输入框为空,恢复默认的提示文字. 解决方案:jquery方法,以下有三种,按照利弊,我建议最后一种. 先看html代码: <inp ...
- ASP.NET TextBox 当鼠标点击后清空默认提示文字
ASP.NET TextBox 当鼠标点击后清空默认提示文字 [ 方法一] 前台代码: <div> <asp:TextBox ID="txtName" ru ...
- 基于jQuery的input输入框下拉提示层(自动邮箱后缀名)
基于jQuery的input输入框下拉提示层,方便用户输入邮箱时的提示信息,需要的朋友可以参考下 效果图 // JavaScript Document (function($){ $.fn ...
- jquery自定义组件开发
jquery的组件已经有很多,但是有可能找不到符合我们需求的组件,所以我们可以动手自己封装一个jquery组件. 第一步要知道封装jquery组件的基本语法 (function ($) { $.fn. ...
- Vue 父组件传递给子组件,设置默认值为数组或者对象时
在vue 父子组件传参过程中,传递对象或者数组时,设置默认值为{}或者[] 错误写法: props: { pos: { type: [Object, Array], default: []//这是错误 ...
- ASP.NET TextBox 当鼠标点击后清空默认提示文字[转]
前台文本框里添加下面2个事件属性: OnFocus="javascript:if(this.value=='提示文字') {this.value=''}" OnBlur=" ...
- 给input标签添加默认提示文字
<input name="username" placeholder="请输入用户名" /> placeholder = "提示文字&qu ...
- jsp页面中如何让一个输入框内的提示文字是灰色而输入的文字是黑色
<input name="name" type="text" value="提示的文字" size="30" o ...
随机推荐
- javascript权威指南学习笔记3
今天看到第四章,记录一下其中的几个点,俗话说:好记性不如烂笔头嘛. 4.9 in运算符和instanceof运算符 in运算符希望它的左操作数是一个字符串或可以转化为字符串,希望它的右操作数是一个 ...
- jquery ajax(3).post
.post返回文本数据 $(function(){ $("#send").click(function(){ $.post("post1.php", { use ...
- jquery 事件绑定(1)
$(function(){ $("#panel h5.head").bind("click",function(){ $(this).next().show() ...
- C语言笔记(枚举)
关于枚举,在我以前写程序的时候,几乎是没有使用过的,只是偶尔会在一下别人写的驱动库中有看到过.今天看了朱老师的视频,准备将枚举相关的东西总结一下. 一.关于枚举,你需要知道 (1)在C语言中就是一些符 ...
- 多目标遗传算法 ------ NSGA-II (部分源码解析)README 算法的部分英文解释
This is the Readme file for NSGA-II code. About the Algorithm--------------------------------------- ...
- java web 组件Listenter(一)
JavaWeb中监听器的事件源(ServletContext.HttpSession.ServletRequest.JavaBean) 1.ServletContext 生命周期监听:ServletC ...
- Color the ball
hdu1556:http://acm.hdu.edu.cn/showproblem.php?pid=1556 题意:中文题. 题解:这一题当然可以直接用线段树来打,但是最近在学树状数组,所以用树状数组 ...
- DC DC電路電感的選擇
注:只有充分理解電感在DC/DC電路中發揮的作用,才能更優的設計DC/DC電路.本文還包括對同步DC/DC及異步DC/DC概念的解釋. DCDC電路電感的選擇 簡介 在開關電源的設計中電感的設計為 ...
- UNDO 100%
另外查了下v$undostat,发现begin_time已经很久没有改变, BEGIN_TIME END_TIME MAXQUERYLEN MAXCONCU ...
- bzoj2730 [HNOI2012]矿场搭建 (UVAlive5135 Mining Your Own Business)
2730: [HNOI2012]矿场搭建 Time Limit: 10 Sec Memory Limit: 128 MBSubmit: 1147 Solved: 528[Submit][Statu ...