不确定性崩溃在我的web应用程序,我用按Ctrl +箭头键从细胞定位到单元格在一个表中。我的web应用程序的谷歌浏览器
所有单元格都包含可见的<span>
和隐藏的<input>
元素 - 它们的值保持同步。
当单元格被激活时,隐藏<span>
,同时显示输入。
一切工作只是罚款的Firefox,IE,Opera等。然而当我加载浏览器,使用按Ctrl +左或按Ctrl +右键崩溃页面(我看到了“Aw Snap”页面)。奇怪的是,Ctrl + 向上和Ctrl + 向下工作。
我已经确定的是,下面的代码是(直接或间接负责的崩溃):
/**
* Deactivates a cell, hiding its input field, and showing its span field
*/
View.prototype.deactivateCell = function (cell){
//Show the span, hide the input
var label = cell.descendants()[0];
var input = cell.descendants()[1];
if(label){
label.show();
}
if(input){
//THIS NEXT LINE IN PARTICULAR CAUSES THE CRASH
//I've also tried input.style.display = "none"; - same result
input.hide();
}
}
奇怪的是,这个码是按Ctrl称为 + 向上/下 ,以及按Ctrl +左/右 - 但它只是崩溃的左/右 - 即使具有相同的cell
值!
所有这些细胞都有两个,也只有两个,后代...而且崩溃与源细胞或目标细胞无关 - 可以从上方移入任何细胞,但不能从左边。
更奇怪的是什么;在deactivateCell(cell)
方法的末尾添加alert(1);
可防止崩溃。把它放在方法的开始没有任何影响(其他然后显示警告对话,在崩溃之前)
我试着在测试文件中隔离相关的HTML +此方法 - 我无法重现崩溃。
有没有人遇到过这个?我应该把它写成浏览器错误吗?有谁知道我可能会如何调试,或尝试修复它?我没有那么模糊的印象,我的Javascript如何能够让浏览器头顶,当许多其他网站都很好时。
你能否在另一台机器上确认这一点? – 2010-10-11 10:33:43
是的 - 我的桌面和我的笔记本电脑。 Chrome的两个版本都应该是最新的 - 它会在后台更新自己,不是吗? – Vladislav 2010-10-11 10:34:32
@Vladislav你可以'输入'转储到控制台?它总是保证真的是一个输入字段?是否有一些与输入元素相关的HTML进行并发更新? – 2010-10-11 10:38:37