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 ...
随机推荐
- JQUERY1.9学习笔记 之内容过滤器(一) 包含选择器
描述:选择包含指定文本的所有元素.jQuery( ":contains(text)" ) text:一串大小写敏感的文本. 例:找出所有包含"john"的div ...
- 在PyQt4中使用matplotlib
matplotlib作为Python中著名的数据可视化工具,其官网也提供了在PyQt4中使用的源码,这里举一个应用实例,以备不时之需. 1) 利用Qt Designer创建GUI界面 Demo的GUI ...
- Linux 下安装Python框架django建立与mysql的连接
0.基本环境说明: a. Ubuntu 14.04 64bit b. python 2.7.6 c. django 1.8 d. django-registration e. django-widge ...
- PIL Image 转成 wx.Image、wx.Bitmap
import wx from PIL import Image def ConvertToWxImage(): pilImage = Image.open('1.png') image = wx.Em ...
- 机器学习公开课~~~~mooc
https://class.coursera.org/ntumlone-001/class/index
- VIJOS P1543极值问题
已知m.n为整数,且满足下列两个条件:① m.n∈1,2,…,K② (n^ 2-mn-m^2)^2=1编一程序,对给定K,求一组满足上述两个条件的m.n,并且使m^2+n^2的值最大.例如,若K=19 ...
- Hbase 计数器
Hbase计数器可以用于统计用户数,点击量等信息 基本操作 可以使用incr操作计数器,incr语法格式如下: incr '<table>', '<row>', '<co ...
- mysql 安装截图
这里有3个选项, 1.Developer Machine(开发机器),个人用桌面工作站,占用最少的系统资源 2.Server Machine(服务器),MySQL服务器可以同其它应用程序一起运行,例如 ...
- Eclipse无法设置NDK路径的解决方法
如果在Eclipse中设置NDK路径的时候遇到下面的情况(尼玛,我的NDK设置呢?): 可以参考百度经验解决:http://jingyan.baidu.com/article/4d58d5413000 ...
- UVA196-Spreadsheet(拓扑排序)
Spreadsheet In 1979, Dan Bricklin and Bob Frankston wrote VisiCalc, the first spreadsheet applicatio ...