我正在尝试开发一个日期选择器。我正在使用JavaScript字符串准备整个日历,并将其附加到div
元素。问题是jQuery click事件的行为有所不同。如果我将整个代码写在$(document).ready()
事件的.js文件中并将该脚本文件添加到HTML文件的顶部,则单击事件无法正常工作(意思是,如果我在3月份,如果我点击下一步,日历将导航到下个月四月,但之后,每当我点击它,我总是得到旧月。)
如果我将整个脚本写在html文件的底部(在body标签之后),它可以正常工作。
当我把代码放在jsFiddle中时。它也适用于那里。我认为他们会在页面底部附加脚本代码。
如果代码在$(document).ready()
事件处理程序中,可能会出错?这是the jsFiddle link。
答案 0 :(得分:0)
我认为这是在IE中发生的。我能够重现它。浏览器显示在“怪癖模式”下运行。当它处于此模式时,indexOf
的{{1}}函数未定义。此JavaScript错误会阻止日历选择器正常运行。远离怪癖模式解决了这个问题。
要修复此问题,您可以确保为页面定义了适当的Array
,或者使用DOCTYPE
等元标记来避免怪癖模式。
我不确定为什么移动脚本会触发不同的模式。也许SO上的其他人知道答案。