在使用 jQuery UI 日期选择器帮助某人开发应用程序时,在不同的浏览器中进行测试时,我们注意到 IE 11 中的一个问题,至少是我们的版本。出于某种原因,我为新的 javascript 日期对象提供给 datepicker 的日期字符串在 IE 中表现不佳,但在 Chrome 中运行良好。最后,在重新启动调试器并盯着屏幕一个多小时后,我开始仔细观察字符串本身。果然,我可以在某些位置按箭头键,光标不会移动!啊哈!那里有一些非打印字符。
我抓住了 Notepad++ 的 Hex 编辑器插件,可以将“un-molested”字符串和版本与其中的“extra something”进行比较。
请参阅下面的屏幕截图。
那么任何人都可以评论这些到底是什么样的角色以及它们可能来自哪里?
这是“愚蠢”的版本。请注意,当我在文本编辑器中查看“显示”版本时,我看到的只是“10/14/2016”
这是我正在使用的代码。在此函数中,变量“DateStart”中包含额外的字符。请注意,在使用 IE 和 Visual Studio 2015 进行调试时会发生这种情况。现在,当我使用 Google Chrome 启动并使用其调试器时,我得到了预期的结果 - 日期很好,日期选择器打开到正确的日期。
function ConfigPicker() {
var DateStart = document.getElementById('FromDate').value;
var DateEnd = document.getElementById('ToDate').value;
$("#FromDate").datepicker({ dateFormat: 'mm/dd/yy', defaultDate: new Date(DateStart) });
$("#ToDate").datepicker({ dateFormat: 'mm/dd/yy', defaultDate: new Date(DateEnd) });
}