2010-08-18 42 views
5

我有一個奇怪的IE8和郵政編碼查找錯誤。它可能不是郵政編碼查找的原因,它只是一個修改選擇的AJAX調用。我已經設置了一個測試頁面here。如果您單擊查找地址,然後雙擊(相當快)在紅色邊框div邊界內的某個地址上,則會在IE8中看到以下錯誤。運行AJAX的選擇奇怪的IE8問題

注意:我發現重現該錯誤並不一致,但如果您將地址列表向右滾動到底部,然後雙擊快速安裝在Holly Cottage上,它應該會重現該錯誤。

IE8 Oddities

如果任何人都可以在光揭示出這個古怪的行爲,它會非常感激。這是一個IE8的錯誤?

+0

我沒有得到任何結果與查找地址按鈕。調用的結果是「解析錯誤:語法錯誤,在第一行/ home/sitecrit/public_html/test /ie8-bug/postcode.php中的意外T_STRING」 – Ivo 2010-08-18 13:56:36

+0

@Ivo這是一個奇怪的,但無關的錯誤 - 它發生時我上傳了php文件 - 它將所有代碼行合併爲一個,並刪除了一堆空白。我認爲這是爲了處理unix/windows文本文件格式。 – bcmcfc 2010-08-18 14:10:24

+1

我剛剛注意到 - 我必須慢一些,因爲我認爲這是預期的行爲(facepalm) - 但ajax請求會像Firefox一樣返回一個錯誤,導致地址'select'到一無所有。 – 2010-08-18 14:23:30

回答

2

我發現問題 - 瀏覽器不喜歡爲href屬性設置javascript:void()。如果您想要取消其默認操作的工作錨點,請將#用於href屬性,然後讓該錨點return false的事件處理程序取消瀏覽器的默認操作。


呃...對...抱歉,我急於發佈答案,而不是仔細檢查問題是否得到了妥善解決。

我發現很難找到問題。我只會冒險猜測:這兩個效果在同一時間運行和結束混淆IE8,導致div被設置爲1px的高度。這當然假設了效果隊列的jQuery實現中的一個錯誤,我絕對不能擔保。這只是我目前的理論 - 我對IE開發人員工具欄的不熟悉使我無法進一步調查。

+0

感謝您的回答。我已經爲#s切換了void(),問題依然存在。 – bcmcfc 2010-08-18 14:14:43

1

這是你運行動畫的問題,我猜想。 您的異步操作會觸發一些滑動動畫。

第一: 嘗試登錄所有動畫的結局(把一個回調函數在slide*呼叫並記錄一些文字控制檯。),看看他們是否在正確的順序運行 - 我想他們沒有,這就是問題。

第二個: 在每個異步觸發的動畫之前嘗試添加.stop(),以便它可以打破同時工作的其他動畫。

三: 如果上面沒有幫助試試這個,每動畫:

if($(this).data('running')==0){ 
$(this).data('running',1).slideUp(function(){$(this).data('running',0)}); 
}else{ /*call with timeout or ignore...*/ } 

這是一個元件上的基本信號。

OR

可以在jQuery的正確使用.animate和動畫隊列,但它會有點這種情況矯枉過正的(我認爲)。

0

我的第一反應是它可能是一個CSS問題。如果我找到默認值,然後單擊「查找地址」鏈接,我會看到類似(雖然不完全相同)的佈局問題。每個部分的高度看起來都是倒塌的,就像浮動部分沒有選取正確的內容高度一樣。如果我在每個contentRow上增量指定高度或在pcodeLookupAddressEdit_risk_address上從塊無塊切換顯示,則會更正格式。

我不知道具體原因,但是,您可能需要檢查幻燈片上的CSS和顯示/隱藏行爲。