解决ie8下onpropertychange事件间歇性失效的问题「建议收藏」

有的时候onpropertychange事件一下好用,一下不好用网上有的说去掉<!DOCTYPEhtml>就好了,我试了下,虽然然管用,但doctype是推荐加上的,去掉他有些东西会乱。如果文本框的样式中有width属性,没有height属性就会出现此问题,不知道是什么原因<inputtype="text"id="name"name="na…

大家好,又见面了,我是你们的朋友全栈君。

 

有的时候onpropertychange事件一下好用,一下不好用

网上有的说去掉<!DOCTYPE html>就好了,

我试了下,虽然然管用,但doctype是推荐加上的,去掉他有些东西会乱。

 

如果文本框的样式中有width属性,没有height属性就会出现此问题,不知道是什么原因

<input type=”text” id=”name” name=”name” value=”<c:out value=’${name}’/>” style=”width:150px;” maxlength=”7″ />

 

解决办法

给样式中有宽度,没有高度的,加上高度。

 

/**
 * 为form中的文本框绑定验证最大长度事件(按字节)
 * 
 * @param fromName
 */
function bindMaxLength(fromName,height){
	if(typeof(height) == "undefined"){
		height = 16;
	}
	$("form[name="+fromName+"] input[type=text]").each(function(){
		if(typeof ($(this).attr("maxlength"))!="undefined"){
//			alert("width"+this.style.width);
//			alert("width"+$(this).css("width")); //会取到默认宽度
			//解决ie8下onpropertychange事件间歇性失效的问题
			if(this.style.width != "" && this.style.height==""){
				this.style.height = height+"px";
			}
			$(this).bind('input propertychange', function() {
					var inputLength = this.value.replace(/[^\x00-\xff]/g, 'xxx').length;
					var maxlength = parseInt($(this).attr("maxlength"));
					if(inputLength > maxlength){
						this.value = this.value.subStringByBytes(maxlength);
					}
			}); 
		}
	});
}

 

subStringByBytes

JS按字节计算字符串长度,按字节截取字符串

http://happyqing.iteye.com/blog/1979816

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126379.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • javascript:是什么意思

    javascript:是什么意思JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言。同时也是一种广泛用于客户端Web开发的脚本语言,常用来给HTML网页添加动态功能,比如响应用户的各种操作。它最初由网景公司

    2022年8月5日
    3
  • Python的命名规范「建议收藏」

    Python的命名规范「建议收藏」Python中常用的一些命名规范,遵守代码命名规范,使代码看起更优雅。

    2022年6月25日
    22
  • powerdesigner创建数据库模型(概念模型举例)

    1.启动PowerDesigner(我用的PowerDesigner16.7破解版)选择新建概念模型进行数据库设计的E-R模型辅助设计2.概念模型的设计实体:选择实体图形,在“图纸”点击划出实体来,双击为其命名,选择Attributes添加其所有属性。注意所有的name都可以用中文标示,以好理解;但是code必须用英文标示,以方便库的操作处理(PowerDesigner转化数据库.sql文件,所有的表名称,属性等都采用code)。为每个属性命名,并选择相应的数据类型,PowerDesigner

    2022年4月11日
    68
  • double转bigDecimal精度问题

    double转bigDecimal精度问题double转bigDecimal精度问题需要用到bigDecimal的字符串构造来转float的精度:2^237位double的精度:2^5216位十进制转二进制存在精度差doubleg=12.35;BigDecimalbigG=newBigDecimal(g).setScale(1,BigDecimal.ROUND_HALF_UP);//…

    2022年6月4日
    159
  • vuejs环境搭建_vue搭建论坛

    vuejs环境搭建_vue搭建论坛前端框架vue开放环境搭建

    2022年9月1日
    4
  • Python-字符串str和json格式的转换「建议收藏」

    Python-字符串str和json格式的转换「建议收藏」str转jsonstr转换为json格式,前提一定需要保证这个str的格式和json是一致的,即左边最外层是大括号,右边的最外层是大括号。如果不一致,推荐用正则进行拆分至和json格式一致1.通过json.loads进行转换importjsonstr='{"key":"wwww","word":"qqqq"}’j=json.loads(str)print(j)pri…

    2022年6月11日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号