有的时候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按字节计算字符串长度,按字节截取字符串
相关推荐
NULL 博文链接:https://hongan.iteye.com/blog/286251
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,...
onpropertychange能够捕获每次输入值的变化。例如:对象的value值被改变时,onpropertychange能够捕获每次改变,而onchange需要执行某个事件才可以捕获。
当一个HTML元素的属性改变的时候,都能通过onpropertychange来捕获。例如< input name=”text1″ ... 但onpropertychange只有IE支持,FireFox下的怎么解决呢?firefox的事件oninput,效果和IE的onproperchange相同。
用了onchange事件,但是在输入的时候,用Javascript计算出并填值的那一列并不会响应onchange 事件。
oninput,onpropertychange,onchange的用法和区别
也就是说:onpropertychange事件在用键盘每改变一下文本框的值或用js改变其值便会触发一下,而onchange只有在用键盘改变其值,然后在失去焦点(onblur)后才触发,用js改变其值不能触发!onpropertychange和onchange都...
根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是onkeydown或者onkeypress,在试的过程中发现再输入中文时,无法响应,因为输入方会将焦点给屏蔽了。在网上寻觅了一会发现...
找了好久,终于找到了一种解决方案,通过onpropertychange事件可以迎刃而解。 代码如下: $(“#textboxID”).bind(“onpropertychange”, function(){ //alert( $(this).text() ); //自动截取的逻辑代码 }); ...
NULL 博文链接:https://669341085.iteye.com/blog/905300
简洁的placeholder插件,支持ie9、ie8及以下版本。完美解决ie9中onpropertychange问题。使用简单,引入placeholder.js即可让您的ie完美支持placeholder
简洁的placeholder插件,支持ie9、ie8及以下版本。完美解决ie9中onpropertychange问题。使用简单,引入placeholder.js即可让您的ie完美支持placeholder
onpropertychange事件是实时触发,每增加或删除一个字符就会触发,通过js改变也会触发该事件,但是该事件是IE专有。 2. oninput事件与onpropertychange事件的区别: oninput事件是IE之外的大多数浏览器支持的事件,...
js监听输入框值的即时变化onpropertychange、oninput.docx
笔者注:今天我在用到onchange事件时没有任何反应,最后翻查资料才知道Onchange的局限性和不稳定性。而onpropertychange却能很好的实现尤其是它的实时捕捉性能更是很值得用一下(幸亏有这个性能,做出的东西老板娘很...