jQuery   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了两种方法基于jQuery实现IE浏览器兼容placeholder效果大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

placeholder是HTML5属性之一,在不同的浏览器( 支持HTML5的现代浏览器 )中会有略微不同的显示效果

在Chrome( v31.0.1650.63 m)、Firefox( v21.0 )、360安全( v6.3 极速模式 )中,输入栏获得焦点后,提示文字并不消失,如图( Chrome ):

获得焦点前:

两种方法基于jQuery实现IE浏览器兼容placeholder效果

获得焦点时:

两种方法基于jQuery实现IE浏览器兼容placeholder效果

偏偏IE11要搞点特殊:

获得焦点前:

两种方法基于jQuery实现IE浏览器兼容placeholder效果

获得焦点时:

两种方法基于jQuery实现IE浏览器兼容placeholder效果

也就是说获得焦点时提示文字会消失。

非现代浏览器( 例如 IE6-IE9 )是不支持placeholder属性的。现在用jQuery来使这些非现代浏览器也同样能能实现placeholder的显示效果,第一种方法实现的是IE11这种效果,也就是输入框获得焦点时提示文字会消失;如果要想获得类似Chrome的效果,即输入框获得焦点时提示文字并不消失,可以使用第二种方法

方法

效果预览:

http://jsfiddle.net/L57b25yr/embedded/result/

思路是,首先判断浏览器是否支持placeholder属性,如果不支持的话,就遍历所有input输入框,获取placeholder属性的值填充进输入框作为提示信息,同时字体设置成灰色。

当输入框获得焦点( focus )同时输入框内文字等于设置的提示信息时,就把输入框内清空;

当输入框失去焦点( blur )同时输入框内文字为空时,再把获取的placeholder属性的值填充进输入框作为提示信息,同时字体设置成灰色;

当输入框内有输入( keydown )时,此时输入框内的提示信息已经由focus事件清除,此时只需要把字体再恢复成黑色即可。

方法的缺点是,不适用于加载完DOM时即获得焦点的输入框,因为在用户的角度,加载完页面时看到的获得焦点的那个输入框,它的提示文字是看不到的。

HTML:

用户名"/>

CSS:

.phcolor{ color:#999;}

JS:

//判断浏览器是否支持placeholder属性
supportPlaceholder='placeholder'in document.createElement('input'),placeholder=function(input){

@H_874_84@var text = input.attr('placeholder'),DefaultValue = input.DefaultValue;

if(!DefaultValuE){

  input.val(text).addClass("phcolor");
}

input.focus(function(){

  if(input.val() == text){

    $(this).val("");
  }
});


input.blur(function(){

  if(input.val() == ""){

    $(this).val(text).addClass("phcolor");
  }
});

//输入的字符不为灰色
input.keydown(function(){

  $(this).removeClass("phcolor");
});

};

//当浏览器不支持placeholder属性时,调用placeholder函数
if(!supportPlaceholder){

@H_874_84@$('input').each(function(){

  text = $(this).attr("placeholder");

  if($(this).attr("type") == "text"){

    placeholder($(this));
  }
});

}

});

大佬总结

以上是大佬教程为你收集整理的两种方法基于jQuery实现IE浏览器兼容placeholder效果全部内容,希望文章能够帮你解决两种方法基于jQuery实现IE浏览器兼容placeholder效果所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。