我已编写此脚本来淡入/淡出错误容器。它在FF和Chrome中工作正常,但在IE8中根本无法工作。
您可以在这里玩小提琴:http : //jsfiddle.net/mostafatalebi/8tw2x/
或查看以下代码:
这是容器CSS:
.error-box
{
filter:inherit;
width: auto;
display: inline;
padding: 5px;
border-radius: 5px;
-webki-border-radius: 5px;
-moz-border-radius: 5px;
direction: rtl;
text-align: right;
background-color: #C00;
color: white;
font-size: 13px;
width: 200px;
float: left;
margin-bottom: 5px;
opacity:inherit;
filter:inherit;
}
这是HTML DOM:
<label class="form-label">Email</label><br />
<div class="form-field-holder">
<input id='email' type="text" name="email" class="form-input" />
<div class="error-box"><!-- jQuery --></div><br />
</div>
这是处理该过程的jQuery代码:
$(document).ready(function(e) {
var email = $("#email");
email.on('blur', function(){
console.log(email_regexp.test(email.val()));
if(!email_regexp.test(email.val()))
{
$(this).siblings('.error-box').fadeIn(600).text("رایانامه شما اشتباه است");
}
else
{
$(this).siblings('.error-box').fadeOut(600);
}
});
});
jQuery 2.x仅可与Internet Explorer 9及更高版本一起使用。如果希望在Internet Explorer 8(及以下版本6)中支持衰落元素,则需要改用jQuery 1.x,它仍然支持较旧的IE过滤器属性。
我已经确认切换到jQuery 1.x可以解决此问题。即使过去似乎可能需要其他解决方法,也没有其他必要。
要记住的另一件事是,byconsole
最初在IE8中不存在。因此,任何呼叫尝试console.log
都会引起问题。如果您想使用它,请先检查是否有console
第一个可用性。您可以这样做&&
,尽管这被认为是一种虐待:
window.console && console.log( email_regexp.test( email.val() ) );
或者,您可以采用更详细的路线并将其设置为适当的条件:
if ( window.console ) { console.log( email_regexp.test( email.val() ) ); }
如果您不想用控制台检查乱码,只需定义自己的代码即可:
if ( !window.console ) {
// When debug is true, console.log alerts
var debug = true;
window.console = {
log: function ( message ) {
if ( debug ) alert( message );
}
};
}
进一步阅读:jQuery浏览器支持
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句