有的时候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按字节计算字符串长度,按字节截取字符串
相关推荐
在IE中,你可以为这个输入框绑定`onpropertychange`事件,当输入框的`value`属性发生变化时,事件就会被触发。 ```javascript document.getElementById('myInput').onpropertychange = function(event) { if ...
这些事件在不同浏览器中有着不同的表现和兼容性,尤其是在Internet Explorer (IE) 和 Firefox之间。 `onpropertychange` 是IE浏览器特有的事件,当对象的任何可枚举属性发生变化时,它都会触发。特别是在处理表单...
但是,onpropertychange 事件也存在一些问题,在 IE 浏览器中,它存在一个 bug,即在用户输入第一个字符时,onpropertychange 事件不会被触发。 最后,让我们来了解 oninput 事件。oninput 事件是 onpropertychange...
在IE下,可以用onpropertychange来代替onchange事件,当文本框有任何变化时,能立即触发此事件. 这样一来问题就解决了. 那其他浏览器呢,onpropertychange可是IE的专利. 接下来就是oninput事件了. 但是oninput有个诡异,...
为了解决这个问题,引入了onpropertychange事件,它能够监听到元素属性的任何变化,包括由JavaScript引起的值变化。在早期的IE浏览器中,onpropertychange事件被广泛支持,其他浏览器则后来也逐渐支持,但表现可能...
标题中的“onchange”和“onpropertychange”是JavaScript中两个与事件相关的属性,它们都是在HTML元素上触发特定行为的事件监听器。在本文中,我们将深入探讨这两个事件的区别、用法以及如何在实际开发中应用它们。...
onChange 在属性值转变时还必需使得当前元素失去焦点(onblur)才可以激活该事件,onpropertychange 则可以在IE下捕获元素的属性变化。 了解了这两者的不同之后,我们可以使用onpropertychange 来监听输入框值的即时...
当一个HTML元素的属性改变的时候,都能通过onpropertychange来捕获。例如< input name=”text1″ ... 但onpropertychange只有IE支持,FireFox下的怎么解决呢?firefox的事件oninput,效果和IE的onproperchange相同。
onpropertychange 事件是 IE9 以下版本专有的事件,该事件在用户界面转变或者使用脚本直接修改内容时触发。该事件可以实时监听输入框值的变化,并且可以与 oninput 事件结合使用以兼容 IE9 以下版本。 实例分析:...
也就是说:onpropertychange事件在用键盘每改变一下文本框的值或用js改变其值便会触发一下,而onchange只有在用键盘改变其值,然后在失去焦点(onblur)后才触发,用js改变其值不能触发!onpropertychange和onchange都...
根据这个思路,首先需要解决的无非是确定文本框的什么事件可以满足要求,当时第一个想到的是onkeydown或者onkeypress,在试的过程中发现再输入中文时,无法响应,因为输入方会将焦点给屏蔽了。在网上寻觅了一会发现...
本文将详细讲解这两个事件的区别以及如何解决 `onchange` 事件在某些情况下的无效问题。 `onchange` 事件是JavaScript中用于监听表单元素(如输入框、选择框等)或某些可触发改变状态的元素(如复选框)在用户进行...
在IE浏览器中,这个问题可以通过`onpropertychange`事件来解决,但在Firefox和其他非IE浏览器中,需要采用不同的策略。 首先,开发者尝试使用`onchange`事件,但发现这个事件只有在文本框失去焦点时才会触发,无法...
主要介绍了js与jquery实时监听输入框值的oninput与onpropertychange方法,实例分析了oninput与onpropertychange实现下拉框里自动匹配关键字实时监听文本框value值变化的功能,需要的朋友可以参考下
然而,需要注意的是,标准的 `onpropertychange` 事件在Firefox及其他非IE浏览器中是不可用的。 对于需要兼容所有主流浏览器的项目而言,如果直接使用 `onpropertychange` 事件,会导致在Firefox中无法正常工作。...
为了解决这个新问题,作者介绍了onpropertychange事件,这是IE特有的一个事件,它会在元素属性发生改变时触发,而不用等待元素失去焦点。因此,作者给出的最终解决方案是,为IE浏览器绑定onpropertychange事件,而为...