window.onload工作不正常
window.onload Not Working correclty
这是一个显示日期的简单函数(我不想要专业的,所以这就足够了)。问题是我想在页面加载时显示它。我不希望用户按下任何按钮或任何东西,但它不起作用。
这是:
<script type="text/javascript">
window.onload = ReturnDay;
</script>
<script>
function ReturnDay() {
var monthNames = [
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
];
var dayNames= [
"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"
];
var newDate = new Date();
newDate.setDate(newDate.getDate() + 1);
$('#dateday').html(dayNames[newDate.getDay()] + " " + newDate.getDate() + ' ' + monthNames[newDate.getMonth()] + ' ' + newDate.getFullYear());
}
</script>
<input id="dateday" type=text></div>
有什么想法吗?
非常感谢。
功能提升仅在给定的<script>
元素内进行。当您尝试将ReturnDay
分配给onload
时,它不存在。
删除示例代码的第3行和第4行:
</script>
<script>
也就是说,将函数直接分配给事件处理程序对象并不是最佳实践。引发冲突太容易了。使用事件绑定,jQuery将为您抽象旧IE中的差异。
$(window).load(ReturnDay);
或者,如果您想在DOM准备就绪时运行脚本,而不是等待页面中的所有图像加载:
$(document).ready(ReturnDay);
此外,<input>
元素被定义为EMPTY。设置它们的innerHTML毫无意义。您应该使用val()
而不是html()
。
虽然您可以更清楚地了解这个问题,但我认为问题是因为您试图设置输入字段的html。试试这个
$('#dateday').val(...);
最好使用jquery $(document).ready()
而不是window.onload
主要问题是应该设置输入的值,而不是innerHTML。
document.getElementById('dateday').value = dayNames.......;
也就是说,我认为在您尝试将函数分配给onload之前,不会定义它。我知道函数被挂起了,但我认为这只适用于当前的代码块。
无论如何,您都不需要定义命名函数。只需这样做:
window.onload = function() {
// your date stuff here
};
相关文章:
- Javascript.getHours()工作不正常
- 为什么不是't窗口.恢复正常工作吗?(javascript/jquery)
- 谷歌分析跟踪内部链接不正常工作的事件
- 电话间隙 2.8 位置:固定不正常工作
- GMT . sehours不正常工作
- Jquery幻灯片效果不正常工作
- D3拖动不正常工作
- Jquery搜索字符串从跨度不正常工作
- 美元的范围.在使用MongoDB的controller.js中编辑不正常工作
- 随机音乐播放通过HTML javascript不正常工作
- 华丽的jQuery图像库插件不正常工作,只有在网站的一部分
- Javascript按钮在时钟当前计时不正常工作
- 导航器显示Internet连接状态.联机不正常工作,并显示错误的状态,而互联网没有连接
- jQuery切换不正常工作的第二次
- 谷歌API自动完成不正常工作
- 触摸结束事件不正常工作在铬
- 如何修复HTML5视频Javascript跟踪代码不正常工作
- 为什么第二次按钮点击不正常工作
- 美元.ajax不正常工作在我的代码
- 切换显示的潜水在道场不正常工作在谷歌Chrome浏览器