Javascript IE7输入问题
我有一些输入,我在keyup上进行验证,它工作得非常好,除了在IE7中,每次击键都会缩小输入 我已经调试了代码,发现是jQUery.addClass/.removeClass造成了这种效果 这只是一个普通的旧输入,没有什么特别的 有什么想法吗Javascript IE7输入问题,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一些输入,我在keyup上进行验证,它工作得非常好,除了在IE7中,每次击键都会缩小输入 我已经调试了代码,发现是jQUery.addClass/.removeClass造成了这种效果 这只是一个普通的旧输入,没有什么特别的 有什么想法吗 $('input#myId').bind('keyup blur',function(){ var _this = $(this); if(_this.val().match(/^[0-9()\-\+\
$('input#myId').bind('keyup blur',function(){
var _this = $(this);
if(_this.val().match(/^[0-9()\-\+\ ]+$/i)== null){
_this.addClass('errorColor');
}else{
_this.removeClass('errorColor');
}
});
编辑:
我终于找到了答案!原来是boxsizing.htc脚本。此脚本动态转换要包含在元素高度和宽度中的填充、边距和边框。每次我输入时,它都试图应用触发onupdate事件的类并刷新元素大小。在我的CSS中,我有点懒惰,并且将重要声明添加到了errorClass规则中,纯粹是为了确保它具有最高的可能特异性。正是这种重要性揭示了Boxsize代码中的一个小错误,因为它随后会递增地计算边框宽度(或者更简单地说,它不会从以前的计算中删除边框宽度)
我会尽快找到一个例子。也许jQuery与IE7中的问题无关。问题很可能是由于与
errorColor
类相关的CSS造成的。如果没有更多数据,我最好的猜测是:
a) 该类删除失败,并在元素上不断累积
b) 这是IE7 100%宽度的怪异之处,请尝试99%或自动,看看是否有帮助。这是boxsizing.htc脚本。不要使用这个工具!此脚本的重要声明,因为它在计算刷新时会增加值。。。因此,收缩输入你能显示与你正在添加和删除的类相关的css吗?也可以做一个小提琴,这样我们就可以看到这种行为。如果你在
errorColor
类中设置了高度
,那么ie7就不起作用了。使用padding
代替。我想,猜测应该是一个注释:)是否有一个页面?我并不总是知道在各种情况下人们应该在这个网站上做什么。我回答这个问题的主要原因是提问者没有提供足够的信息,除了有根据的猜测。其他人则呼吁通过评论获得更多信息,但都没有实现。我之前的答案,以“大概……”开头的答案其实没有什么不同。在某种意义上,大多数问题不是都是猜测吗?人们试图提供一个解决方案(通常失败),但只选择了一个。Serhiy,有根据的猜测总比没有好!