我对IE用户体验有疑问(是的,我知道 - 失败的原因)。我的网站在Mozilla和Chrome上运行良好,但每次打开或关闭日期选择菜单时,铬浪费都会持续1-2秒。
这是我的jQuery:
<script>
$(document).ready(function () {
$('#IssDate').datetimepicker({
theme: 'dark',
lang: 'bg',
format: 'd.m.Y H:i:s',
minDate: '-1970/02/01',
maxDate: '+1970/01/08',
step: 10,
dayOfWeekStart: 1,
showAnim: jQuery.support.boxModel ? 'drop' : null, // optional
duration: jQuery.support.boxModel ? 'normal' : ''
});
});
</script>
<script>
$(document).ready(function () {
$('[id $= _Date]').datetimepicker({
theme: 'dark',
lang: 'bg',
format: 'd.m.Y H:i:s',
step: 10,
dayOfWeekStart: 1,
showAnim: jQuery.support.boxModel ? 'drop' : null, // optional
duration: jQuery.support.boxModel ? 'normal' : ''
});
});
</script>
你能告诉我一个解决方案吗?我已经看过WebApp的评论,但我真的不知道这是否是同一个问题。我已经尝试删除了datepicker的一些功能而没有任何明显的效果变化。
我相信即使是Dropbox和文本字段都是缓慢的,但它并不是那么糟糕。
答案 0 :(得分:0)
我找到了解决方案!
事实证明,我的脚本中有一个递归。我有一个(文档).on(&#39;更改&#39;)功能,它改变了一些字段。然后,当这些字段发生变化时,我还有另一个jQuery来检查它们的变化并触发其他字段的变化。他们在这里:
$(document).on('change', function () {
if ($("#sol_Date").val().trim() != '') {
$("#caseStatus").val('Solved');
$("#caseStatusDisplay").val('Solved');
$("#caseStatus").change();
}
else {
$("#caseStatus").val('In Progress');
$("#caseStatusDisplay").val('In Progress');
$("#caseStatus").change();
}
});
$(document).ready(function () {
$("#falsePositives").change(function () {
if ($("#caseStatus").val().trim() == 'Solved' && ($("#falsePositives").val().trim() != '' || $("#escTo").val().trim() != '' || $("#dept").val().trim() != '')) {
$("#saveBtn").attr('disabled', false);
$("#escToValMsg").text('');
$("#fpValMsg").text('');
}
else if ($("#caseStatus").val().trim() == 'Solved' && $("#falsePositives").val().trim() == '' && $("#escTo").val().trim() == '' && $("#dept").val().trim() == '') {
$("#escToValMsg").text('You must have either escalated to/department or false positives filled');
$("#fpValMsg").text('You must have either escalated to/department or false positives filled');
$("#saveBtn").attr('disabled', true);
}
});
});
正如您可以轻易看到的,这会导致无休止的循环。其他浏览器足够聪明地注意到它并在第一次执行时跳过整个过程。另一方面,IE每次更改字段值时都必须触发循环。编辑完功能后,一切顺利进行。
PS:我没需要2个星期:)在这里填写我的评论要迟到了。