模拟和HTML5的ploceholder的效果
来源:互联网 发布:猫知老鼠四川方言版 编辑:程序博客网 时间:2024/05/21 09:50
1.采用value模拟
2.利用label模拟,让label的for绑定input元素。label覆盖在input元素上。使用label模式模拟占位符的时候,如果文本控件没有id,则插件会自动创建一个随机id.
<script type="text/javascript">(function($,undefined){$.fn.placeholder=function(options){var defaults = {labelMode : false, //默认false采用value模拟,true采用label模拟labelStyle:{}, //设置label的样式labelAcross : false //默认false,true让支持HTML5的浏览器取消默认的placeholder属性,统一使用自定义的placeholder属性};var params = $.extend({},defaults,options);$(this).each(function(){var element=$(this);var isPlaceholder = 'placeholder' in document.createElement('input');var placeholder = $(this).attr('placeholder');//element.data("placeholder",placeholder);//让支持HTML5的浏览器取消默认的placeholder属性,统一使用自定义的placeholder属性if(params.labelAcross && isPlaceholder){element.removeAttr("placeholder");isPlaceholder = false;}if(element && (!isPlaceholder) && placeholder){//label模拟if(params.labelMode){var elementId = element.attr('id');var label=null;if(!elementId){elementId = "placeholder"+Math.random();element.attr("id",elementId);}//创建labellabel = $('<label for="'+elementId+'"></label>').css($.extend({position : "absolute",margin : '2px 0 0 3px',color : "grayText",cursor :"text"},params.labelStyle)).insertBefore(element);element.bind({"keyup" : function(){if($(this).val()===''){label.html(placeholder);}else{label.html("")}},"focus" : function(){if($(this).val()===''){label.html(placeholder);}else{label.html("")}},"blur" : function(){if($(this).val()==''){label.html(placeholder).css('color','graytext');}}});//初始化if(element.val()===''){label.html(placeholder).css('color','graytext');}}else{//value模拟element.bind({"focus" : function(){if(element.val()===placeholder){element.css("color", "");}},"blur" : function(){if(element.val()==''){element.val(placeholder).css('color','graytext');}}});//初始化if(element.val()==''){element.val(placeholder).css('color','graytext');}}}});return $(this);};})(jQuery); </script>
0 0
- 模拟和HTML5的ploceholder的效果
- html5移动开发制作基于模拟现实物理效果的游戏
- Unity引擎模拟实现HTML5 animation 动画效果,取代NGUI的Tweener缓动
- 用html5模拟的汉诺塔
- 10个奇幻的HTML5和Javascript效果
- 膜拜吧,令人惊奇的HTML5和JavaScript效果
- HTML5和CS3,制作的登录框效果
- 10个让人眼花缭乱的 HTML5 和 JavaScript 效果
- 15个拥有惊艳效果的HTML5和CSS3体验
- 10个让人眼花缭乱的HTML5和JavaScript效果
- 安全和anti-sapm的HTML5效果如何
- 15个拥有惊艳效果的HTML5和CSS3体验
- 10个让人眼花缭乱的 HTML5 和 JavaScript 效果
- 10款效果惊艳的HTML5应用和源码
- 10款效果惊艳的HTML5应用和源码
- 10个奇幻的HTML5和Javascript效果(一)
- 10个奇幻的HTML5和Javascript效果(二)
- 10款效果惊艳的HTML5应用和源码
- 九度_题目1522:包含min函数的栈
- [搜索] 理解compass的配置文件
- Android RadioGroup,显示问题
- .NET中参数化查询数据库
- [sftp root@192.168.1.20 << -!] 中 " <<! " 是什麼意思呀
- 模拟和HTML5的ploceholder的效果
- mac下eclipse配置svn的方法
- onbeforeunload与onunload事件
- Hibernate 中的主健 ID 映射配置问题
- win7 mysql数据库安装于vc6.0下数据库调用
- qt录音--raw(pcm)文件转换wav文件
- 普通模式匹配
- .NET 数据库连接和查询
- linux常用操作指令