如果你有这样的事情在你的日期选择器设置:
ONSELECT:函数(){this.focus(); } onClose:function(){this.focus(); }
这会导致元素被赋予焦点,并由验证器插件进行验证。
不幸的是,在IE7中,这会导致为重点事件被称为两次错误和日期选择器会产生混乱而再次弹出。
的解决方案是不显式调用验证器的元件上,然后将焦点移动到下一个元素的IE以保留的标签顺序。
onSelect: function() {
var elementCounter, input, form;
input = $(this);
form = input.parents('form:first');
// validate the selected date
form.validate().element(this);
if ($.browser.msie && $.browser.version < 8) {
// MSIE 7 triggers focus event twice, forcing the datepicker to re-open
// to get around this, we move the focus to the next form element
for (var elementCounter = 0; elementCounter < form[0].elements.length; elementCounter++){
if (form[0].elements[elementCounter].name == input.attr('name')) {
$(form[0].elements[elementCounter+1]).focus();
break;
}
}
} else {
// give focus back to the input element to preserve tabbing
$(this).trigger('focus');
}
},
onClose: function() {
// validate the selected date
$(this).parents('form:first').validate().element(this);
}
无法访问该网址 - HTTP错误403.6 - 禁止访问:客户端的IP地址已经拒绝。 – 2009-09-21 16:35:36
您无权查看此页面 – mkoryak 2009-09-21 16:35:42
您是否可以将相关代码复制到http://jsbin.com上? – 2009-09-21 16:35:55