2011-05-03 138 views
2

我有這樣的jQuery的方法,我我的每個頁面加載時間來電,來調整我的主要div的內容(這是一個滾動的一個):奇怪jQuery的問題

function resizeMainContent() { 
    var newSize = jQuery(window).height(); 

    if (window.location.pathname.indexOf("appsportfolio") != -1) { 
      newSize = newSize - 105; 
    } else if (window.location.pathname.indexOf("userapp") != -1) { 
      newSize = newSize - 128; 
    } else if (window.location.pathname.indexOf("password") != -1 
        || window.location.pathname.indexOf("create_user") != -1 
        || window.location.pathname.indexOf("create_account") != -1) { 
      newSize = newSize - 105; 
    } 

    if (jQuery.browser.msie) 
      newSize = newSize + 3; 

    jQuery("#mainContentPanel").height(newSize); 
} 

好,對鉻和FF的所有效果很好。但是,在IE瀏覽器,如果這個方法被調用,當我右鍵點擊其他的div我顯示彈出面板,該面板是不完全呈現在那裏我已經按下右鍵,但低於約100像素 ...如果我取消這個resizeMainContent功能,右鍵點擊的偉大工程......

您能否提供一個解決方案嗎?

謝謝。

UPDATE: - 這裏是有問題的截圖:我按右鍵單擊第一Text,如果我評論上面的jQuery的方法對第二個enter image description here

的彈出窗口,它顯示的樣子我按下右鍵。

DIV的,我按右鍵有這樣生成的代碼(實際上它是採用了ice:menuPopup ICEfaces的分量)

oncontextmenu="Ice.Menu.contextMenuPopup(event, 'j_id1378:sectionContextMenu_sub', 'j_id1378:j_id1401:0:j_id1413:1:j_id1414');return false;" 

所以它調用了一些從他們的源代碼工作正常JavaScript方法(他們的演示作品完美)所以問題是肯定不是在他們的JavaScript代碼...

+0

你能顯示代碼對於右鍵單擊處理程序代碼以及? – 2011-05-03 15:46:28

+0

你是說右鍵單擊菜單是關閉100像素或一個燈箱樣式彈出100px的偏移?假設燈箱,什麼是定位 - 相對,絕對,靜態或固定?你什麼時候決定在哪裏放置彈出窗口 - 點擊或繪製頁面時? – 2011-05-03 15:48:56

+3

請將鏈接發佈到一個jsfiddle代碼片段,該代碼片段完整地複製了該問題。 – 2011-05-03 15:48:58

回答

0

我已經應用此問題的解決方法是重寫icefaces Ice.Menu.contextMenuPopup method併爲我的情況應用-100像素,如果當前瀏覽器是IE瀏覽器。

當然這也意味着oncontextmenu應指向我的方法,而不是他們的,這是我在不是很乾淨的方法做了,但......至少this作品...