2017/08/02 工作日志
上午一开始是继续看XML的内容,了解了XML DTD、XML Schema(XSD)和XSLT(XML的样式表语言)还有粗略看了一点XMLHttpRequest。
然后看到经理有回消息就主动要了任务,分来两个,不过已经快中午了,先简单部署了一下,不过出现了和之前类似的问题。最开始用附加进程
调试的方法把问题缩小到数据库的问题,然后有自己部门的任务派下来,肯定更优先解决。
问题是这样的:因为原来的系统比较老旧,必须在兼容模式下的IE运行才能使用回车换行,现在要求新系统改造成非兼容模式下任意浏览器均可
使用回车进行换行操作。虽然知道大概的意思,但是完全没做过相关的东西,不过先把目标锁定在JavaScript上,找到相关页面进行修改就好。原本
的写法是使用keyCode,按下回车键(13)时相当于按下一个Tab键(9),我查到的改法是
document.getElementById("id").focus();
确实能够解决问题,但是经理又让我试下chrome和火狐,本以为IE都没问题,其他的也不在话下,结果火狐无论如何都无法识别回车命令,几番查找
无效,都是一样的文章粘贴复制,重点是放在了焦点切换上,与火狐的焦点机制有关:先取消再选择,但是我发现不只是切换焦点的回车无法使用,
回车自动点击登录也无效,所以我去查了详细的相关内容,发现:火狐不支持事件(event)!!!使用下列写法即可
var theEvent = window.event || arguments.callee.caller.arguments[0]; //谷歌能识别event,火狐识别不了,所以增加了这一句,chrome浏览器可以直接支持
event.keyCode var code = theEvent.keyCode;
详细的说明还没有深究,以后还要研究一下
还有另一个问题就是,老版本的Js在密码处回车还会关闭登录按钮,导致Tab跳过登录,不知道意义何在,所以将那一行注释了,看后续怎么修改