不確定性崩潰在我的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