我正在尝试在我们的旧网站上解决“浏览器兼容性”问题,该网站有很多javascript,css和html。它们是asp页面,但我正在评估实际发送到浏览器的内容。
我们有一个页面有几个文本框(类型=文本的html输入元素),除非你在IE 7上,否则你不能输入它们。当你点击它时,新版本的IE和其他现代浏览器文本框,你甚至没有得到闪烁的光束光标。但它瞬间闪现边界。
在Chrome中,我右键单击并执行Inspect Element,然后删除了文本框类和所有事件处理程序,问题仍然存在。然后我检查了通常的嫌疑人:只读,禁用,启用,最大长度,并且它们都是不受限制的。
我可以检查哪些其他DOM属性或样式属性?我不应该只是因为我在Chrome检查元素选项卡中删除了html,它是否生效了?
我只是在寻找一个需要检查的奇怪事项列表,因为我不是主要的Web开发人员。事实上,它在较旧的浏览器中工作但没有新的浏览器使我认为某些html,css或javascript的解释方式不同,或者正在处理以前未处理过的其他事情。也许较新的浏览器已经发现(浮出水面)一些糟糕/不合逻辑的代码。
编辑: 这是一个重现问题的小提琴,至少在Chrome中是这样: http://jsfiddle.net/2n2sJ/6/
<input type="text"/>
var ns6 = document.getElementById && !document.all
var isMenu = false;
var menuSelObj = null;
var overpopupmenu = false;
function mouseSelect(e) {
var obj = ns6 ? e.target.parentNode : event.srcElement.parentElement;
if (isMenu) {
if (overpopupmenu == false) {
isMenu = false;
overpopupmenu = false;
document.getElementById('menudiv').style.display = "none";
document.getElementById('Div1').style.display = "none";
return true;
}
return true;
}
return false;
}
document.onmousedown = mouseSelect;
答案 0 :(得分:0)
当javascript处理点击或焦点事件,并且javascript返回false时,这将使文本框显示为禁用。
让处理程序返回true而不是false以允许事件发生。