管理平台遇到的问题

例题1.new Date("2018-03-30")在IE8及以下浏览器返回NaN

原因: 日期字符串的格式不能被某些浏览器转换,如果把2018-03-30修改为 2018/03/30 就可以转换

解决方案:
1. 把字符串格式转换下
new Date("2018-03-30".replace(/-/gm,"/")).getTime();
 
2. 利用parse() 方法可解析一个日期时间字符串,并返回 1970/1/1 午夜距离该日期时间的毫秒数。
由于parse()方法参数的日期格式为 yyyy/MM/dd ,所以需要将现有的日期格式通过 replace() 方法将日期字符串替换成 yyyy/MM/dd 格式。
Date.parse("2018-03-30".replace(/-/gm,"/"));  

 
注意: 不同的浏览器还是存在差异的,以下列出了所有浏览器都支持的方式。

var d = new Date(2011, 01, 07); // yyyy, mm-1, dd  
var d = new Date(2011, 01, 07, 11, 05, 00); // yyyy, mm-1, dd, hh, mm, ss  
var d = new Date("02/07/2011"); // "mm/dd/yyyy"  
var d = new Date("02/07/2011 11:05:00"); // "mm/dd/yyyy hh:mm:ss"  
var d = new Date(1297076700000); // milliseconds  
var d = new Date("Mon Feb 07 2011 11:05:00 GMT"); // ""Day Mon dd yyyy hh:mm:ss GMT/UTC

例题2.IE9的 input 不支持 onchange 事件问题

解决方案: 需要把onchenge修改为 onblur 事件

onchange触发原则
1.当 input 捕获到焦点后,系统储存当前值
2.当 input 焦点离开后,判断当前值与之前存储的值是否不等,如果为 true 则触发 onchange 事件。  
3.非 IE 可以回车触发
4.通过 DOM 对象赋值不会触发

猜你喜欢

转载自blog.csdn.net/u012934763/article/details/80302606