2011-05-03 86 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作品...