您现在的位置:首页 >> 前端 >> 内容

分享两个在管理平台时遇到的问题及解决办法

时间:2018/5/15 11:08:30 点击:

  核心提示:例题1.new Date(2018-03-30)在IE8及以下浏览器返回NaN原因:日期字符串的格式不能被某些浏览器转换,如果把2018-03-30修改为2018/03/30就可以转换解决方案:1. ...

例题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对象赋值不会触发

作者:网络 来源:u012934763