2012-02-02 92 views
2

我正在使用在IE8中開發和測試的使用JQuery的解決方案。JQuery和IE8,兼容模式和IE7仿真

我有一個用戶,在「工具」>「兼容性視圖設置」下顯示了「在兼容性視圖中顯示所有網站」。部分JQuery失敗。

$(document).ready(function() { 

    // creating named variables to represent the throbber objects to make life easier later. 
    var moSearchThrobber = $("#imgSearchThrobber"); 
    var moFilterThrobber = $("#imgFilterThrobber"); 

    //lets hide the search and filter dialogs. 
    $("div[id*=pnlSearch_Dialog]").hide(); 
    $("div[id*=pnlFilter_Dialog]").hide(); 

    // when I change the value of my drop downs in search and in filter, set the hidden field value. 
    $("select[name=ddlValue]").change(function() { 
     $(this).siblings("input:hidden").val($(this).val()); 
    }); 
    // If the user clicks on the Search link button. 
    $("a[id*=lnkSearch").click(function() { 

     // while we are at it turn on the search throbber 
     moSearchThrobber.css('visibility', 'visible'); 

     // find the search grid and get/each through all the rows. 
     $("table[id*=grdSearch]").find("tr").each(function() { 

的隱藏功能工作...但點擊方法不火......

我一直在尋找試圖迫使它進入IE8,並通過meta標籤關閉兼容模式。 ..但是這對我來說很骯髒。現在還有其他的選擇讓jquery在IE8的所有3個「版本」中都一樣嗎?

+0

您是否收到錯誤消息?當你說它「失敗」時,你的意思是什麼? – gilly3 2012-02-02 20:05:39

+0

沒有錯誤...它只是沒有發生火災 – Patrick 2012-02-02 20:17:26

+1

填充代碼中的空白,這在IE9兼容性視圖中工作:http://jsfiddle.net/WyyUe/。請注意,您在'lnkSearch'選擇器中缺少一個末端括號('''),但無論是否在兼容性視圖中都會打破它,所以我猜測這只是一個錯字。你可以發佈一個jsfiddle來看你的bug嗎? – gilly3 2012-02-02 20:39:13

回答

4

由於我的評論似乎解決了您的問題,我正在適應它的答案。

您在lnkSearch選擇器中缺少一個方括號(])。我本來預計會在IE8和IE9中破解,但顯然document.querySelectorAll()接受它。但是,IE7使用sizzle,因爲它不支持document.querySelectorAll()。似乎嘶嘶聲不喜歡畸形的屬性選擇器。

這是test page with malformed attribute selectors。在IE9,IE8和IE7模式之間切換,注意它在IE9和IE8中工作,但在IE7中失敗。

這是test page with corrected attribute selectors。注意它適用於所有版本。

+0

是的...謝謝你它解決了我的問題。 +1的額外信息。 – Patrick 2012-02-03 18:27:41

2

我使用元標記,因爲HTML 5 Boilerplate和其他信譽良好的來源。但你說得對,IE是一個骯髒的行業。

編輯:

Microsoft,IE =邊緣應該總是給你提供最新的渲染引擎。 intranet pages是一個例外,它需要明確使用IE = 9來避免兼容模式。

+0

好的一個簡單的問題...如果有人使用IE9,並且我把這個元標記放在IE9的某種類型的IE8兼容模式中?我只是猜測,IE7甚至不知道它存在,以便工作好嗎? – Patrick 2012-02-02 20:18:29

+0

請參閱上面的新編輯。 – 2012-02-02 20:46:23

+0

感謝您的信息+1 – Patrick 2012-02-03 12:51:07