首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

解决ie8下onpropertychange事件间歇性失效的有关问题

2013-12-26 
解决ie8下onpropertychange事件间歇性失效的问题?有的时候onpropertychange事件一下好用,一下不好用网上有

解决ie8下onpropertychange事件间歇性失效的问题

?

有的时候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 = subStr(this.value,maxlength);}}); }});}

?

/** * 按字节截取字符串, 一个中文按3个字节算的 *  * @param str * @param maxlength * @returns */function subStr(str,maxlength){var len = 0;// 我abfor(var i=0; i<str.length; i++){len += (str.charCodeAt(i)>255 ? 3 : 1);if(len>maxlength){return str.substring(0,i);}}return str;}

?

热点排行